Add ErrInputRequired and ErrCertificateRequired

This commit is contained in:
Adnan Maolood 2020-10-28 01:06:08 -04:00
parent 7a1a33513a
commit 768664e0c5
2 changed files with 4 additions and 0 deletions

View File

@ -120,6 +120,7 @@ func (c *Client) do(req *Request, via []*Request) (*Response, error) {
return c.Do(req) return c.Do(req)
} }
} }
return resp, ErrCertificateRequired
} else if resp.Status.Class() == StatusClassRedirect { } else if resp.Status.Class() == StatusClassRedirect {
if via == nil { if via == nil {
via = []*Request{} via = []*Request{}
@ -154,6 +155,7 @@ func (c *Client) do(req *Request, via []*Request) (*Response, error) {
return c.do(req, via) return c.do(req, via)
} }
} }
return resp, ErrInputRequired
} }
resp.Request = req resp.Request = req

View File

@ -21,6 +21,8 @@ var (
ErrNotAGeminiURL = errors.New("gemini: not a Gemini URL") ErrNotAGeminiURL = errors.New("gemini: not a Gemini URL")
ErrBodyNotAllowed = errors.New("gemini: response status code does not allow for body") ErrBodyNotAllowed = errors.New("gemini: response status code does not allow for body")
ErrTooManyRedirects = errors.New("gemini: too many redirects") ErrTooManyRedirects = errors.New("gemini: too many redirects")
ErrInputRequired = errors.New("gemini: input required")
ErrCertificateRequired = errors.New("gemini: certificate required")
) )
// DefaultClient is the default client. It is used by Get and Do. // DefaultClient is the default client. It is used by Get and Do.