aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdnan Maolood <[email protected]>2020-12-18 01:14:06 -0500
committerAdnan Maolood <[email protected]>2020-12-18 01:14:06 -0500
commitdecd72cc230bac07a24d1416df2360bae807532b (patch)
tree0c268a31b611db05e21b02679f5f99dcbd5b77e8
parentserver: Don't always assume TLS is used (diff)
downloadgo-gemini-decd72cc230bac07a24d1416df2360bae807532b.tar.xz
go-gemini-decd72cc230bac07a24d1416df2360bae807532b.zip
Expose Request.Write and Response.Read functions
-rw-r--r--client.go4
-rw-r--r--request.go4
-rw-r--r--response.go4
-rw-r--r--server.go5
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),
}