From decd72cc230bac07a24d1416df2360bae807532b Mon Sep 17 00:00:00 2001 From: Adnan Maolood Date: Fri, 18 Dec 2020 01:14:06 -0500 Subject: [PATCH] Expose Request.Write and Response.Read functions --- client.go | 4 ++-- request.go | 4 ++-- response.go | 4 ++-- server.go | 5 +++-- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/client.go b/client.go index 2f94bea..6464255 100644 --- a/client.go +++ b/client.go @@ -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 diff --git a/request.go b/request.go index 138fc15..a18dcab 100644 --- a/request.go +++ b/request.go @@ -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) diff --git a/server.go b/server.go index 93b3d13..f589c19 100644 --- a/server.go +++ b/server.go @@ -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), }