From 0c303588a43f0e6a5146ac5c668aadcb4409952a Mon Sep 17 00:00:00 2001 From: Adnan Maolood Date: Sun, 14 Feb 2021 16:23:38 -0500 Subject: [PATCH] Update Response documentation --- response.go | 20 +++++++++++++++----- status.go | 4 ++-- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/response.go b/response.go index d97740a..5d8558e 100644 --- a/response.go +++ b/response.go @@ -7,7 +7,11 @@ import ( "strconv" ) -// Response is a Gemini response. +// Response represents the response from a Gemini request. +// +// The Client returns Responses from servers once the response +// header has been received. The response body is streamed on demand +// as the Body field is read. type Response struct { // Status contains the response status code. Status int @@ -19,13 +23,19 @@ type Response struct { Meta string // Body represents the response body. - // Body is guaranteed to always be non-nil. // - // The response body is streamed on demand as the Body field is read. + // The response body is streamed on demand as the Body field + // is read. If the network connection fails or the server + // terminates the response, Body.Read calls return an error. + // + // The Gemini client guarantees that Body is always + // non-nil, even on responses without a body or responses with + // a zero-length body. It is the caller's responsibility to + // close Body. Body io.ReadCloser - // TLS contains information about the TLS connection on which the response - // was received. + // TLS contains information about the TLS connection on which the + // response was received. It is nil for unencrypted responses. TLS *tls.ConnectionState } diff --git a/status.go b/status.go index fcf1686..3b348f8 100644 --- a/status.go +++ b/status.go @@ -1,6 +1,6 @@ package gemini -// Status codes. +// Gemini status codes. const ( StatusInput = 10 StatusSensitiveInput = 11 @@ -23,7 +23,7 @@ const ( ) // StatusClass returns the status class for this status code. -// 1x becomes 10, 2x becomes 20, etc. +// 1x becomes 10, 2x becomes 20, and so on. func StatusClass(status int) int { return (status / 10) * 10 }