Tweak returned error for requests that are too long

Return ErrInvalidRequest instead of ErrInvalidURL in Request.Write.
This commit is contained in:
Adnan Maolood 2021-02-14 23:33:16 -05:00
parent c5ccbf023a
commit 92e7a309c6

View File

@ -118,11 +118,14 @@ 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 {
url := r.URL.String()
// User is invalid
if r.URL.User != nil || len(url) > 1024 {
if r.URL.User != nil {
// User is not allowed
return ErrInvalidURL
}
url := r.URL.String()
if len(url) > 1024 {
return ErrInvalidRequest
}
if _, err := w.WriteString(url); err != nil {
return err
}