diff options
| author | Adnan Maolood <[email protected]> | 2020-12-18 01:14:06 -0500 |
|---|---|---|
| committer | Adnan Maolood <[email protected]> | 2020-12-18 01:14:06 -0500 |
| commit | decd72cc230bac07a24d1416df2360bae807532b (patch) | |
| tree | 0c268a31b611db05e21b02679f5f99dcbd5b77e8 | |
| parent | server: Don't always assume TLS is used (diff) | |
| download | go-gemini-decd72cc230bac07a24d1416df2360bae807532b.tar.xz go-gemini-decd72cc230bac07a24d1416df2360bae807532b.zip | |
Expose Request.Write and Response.Read functions
| -rw-r--r-- | client.go | 4 | ||||
| -rw-r--r-- | request.go | 4 | ||||
| -rw-r--r-- | response.go | 4 | ||||
| -rw-r--r-- | server.go | 5 |
4 files changed, 9 insertions, 8 deletions
@@ -78,14 +78,14 @@ func (c *Client) Do(req *Request) (*Response, error) { // Write the request w := bufio.NewWriter(conn) - req.write(w) + req.Write(w) if err := w.Flush(); err != nil { return nil, err } // Read the response resp := &Response{} - if err := resp.read(conn); err != nil { + if err := resp.Read(conn); err != nil { return nil, err } // Store connection state @@ -65,8 +65,8 @@ func NewRequestFromURL(url *url.URL) *Request { } } -// write writes the Gemini request to the provided buffered writer. -func (r *Request) write(w *bufio.Writer) error { +// Write writes the Gemini request to the provided buffered writer. +func (r *Request) Write(w *bufio.Writer) error { url := r.URL.String() // User is invalid if r.URL.User != nil || len(url) > 1024 { diff --git a/response.go b/response.go index 447050d..88baeeb 100644 --- a/response.go +++ b/response.go @@ -26,8 +26,8 @@ type Response struct { TLS tls.ConnectionState } -// read reads a Gemini response from the provided io.ReadCloser. -func (resp *Response) read(rc io.ReadCloser) error { +// Read reads a Gemini response from the provided io.ReadCloser. +func (resp *Response) Read(rc io.ReadCloser) error { br := bufio.NewReader(rc) // Read the status statusB := make([]byte, 2) @@ -182,7 +182,7 @@ func (s *Server) respond(conn net.Conn) { } r := bufio.NewReader(conn) - w := newResponseWriter(conn) + w := NewResponseWriter(conn) // Read requested URL rawurl, err := r.ReadString('\r') if err != nil { @@ -264,7 +264,8 @@ type ResponseWriter struct { mediatype string } -func newResponseWriter(conn net.Conn) *ResponseWriter { +// NewResponseWriter returns a ResponseWriter that will write to conn. +func NewResponseWriter(conn net.Conn) *ResponseWriter { return &ResponseWriter{ b: bufio.NewWriter(conn), } |