aboutsummaryrefslogtreecommitdiff
path: root/request.go
diff options
context:
space:
mode:
authorAdnan Maolood <[email protected]>2021-02-18 21:58:35 -0500
committerAdnan Maolood <[email protected]>2021-02-18 21:58:37 -0500
commit229ebb410652f43da1a7e03db7e198df55d7ec3b (patch)
treebe81d957991d838f9d29b41eba65835ddef7e67e /request.go
parentclient: Remove superfluous call to Flush (diff)
downloadgo-gemini-229ebb410652f43da1a7e03db7e198df55d7ec3b.tar.xz
go-gemini-229ebb410652f43da1a7e03db7e198df55d7ec3b.zip
request.Write: Accept an io.Writer
Diffstat (limited to 'request.go')
-rw-r--r--request.go9
1 files changed, 5 insertions, 4 deletions
diff --git a/request.go b/request.go
index 72fb2cb..b111388 100644
--- a/request.go
+++ b/request.go
@@ -107,16 +107,17 @@ func ReadRequest(r io.Reader) (*Request, error) {
// Write writes a Gemini request in wire format.
// This method consults the request URL only.
-func (r *Request) Write(w *bufio.Writer) error {
+func (r *Request) Write(w io.Writer) error {
+ bw := bufio.NewWriterSize(w, 1026)
url := r.URL.String()
if len(url) > 1024 {
return ErrInvalidRequest
}
- if _, err := w.WriteString(url); err != nil {
+ if _, err := bw.WriteString(url); err != nil {
return err
}
- if _, err := w.Write(crlf); err != nil {
+ if _, err := bw.Write(crlf); err != nil {
return err
}
- return w.Flush()
+ return bw.Flush()
}