… 
				
			
			
		
				
					… 
				
			
			
		go-gemini
go-gemini implements the Gemini protocol
in Go.
It aims to provide an API similar to that of net/http to make it easy to
develop Gemini clients and servers.
Examples
See examples/client and examples/server for an example client and server.
To run the examples:
go run -tags=example ./examples/server
Overview
A quick overview of the Gemini protocol:
- Client opens connection
 - Server accepts connection
 - Client and server complete a TLS handshake
 - Client validates server certificate
 - Client sends request
 - Server sends response header
 - Server sends response body (only for successful responses)
 - Server closes connection
 - Client handles response
 
The way this is implemented in this package is like so:
- Client makes a request with 
NewRequest. The client then sends the request withSend(*Request) (*Response, error). - Server recieves the request and constructs a response.
The server calls the 
Serve(*ResponseWriter, *Request)method on theHandlerfield. The handler writes the response. The server then closes the connection. - Client recieves the response as a 
*Response. The client then handles the response. 
Description
				
					Languages
				
				
								
								
									Go
								
								100%