add a *Request to Response

This commit is contained in:
tjp 2024-01-10 11:06:53 -07:00
parent b09d2de941
commit b6c0ba24cf
6 changed files with 12 additions and 4 deletions

View File

@ -51,7 +51,7 @@ func (c Client) RoundTrip(request *types.Request) (*types.Response, error) {
return nil, err
}
return &types.Response{Body: bytes.NewBuffer(response)}, nil
return &types.Response{Body: bytes.NewBuffer(response), Request: request}, nil
}
// Fetch resolves a finger query.

View File

@ -29,7 +29,7 @@ type Client struct {
// NewClient creates a gemini Client with the given TLS configuration and default MaxRedirects.
func NewClient(tlsConf *tls.Config) Client {
if tlsConf != nil {
if tlsConf != nil && !tlsConf.InsecureSkipVerify {
tlsConf = tlsConf.Clone()
tlsConf.InsecureSkipVerify = true
}
@ -116,6 +116,7 @@ func (client Client) RoundTrip(request *types.Request) (*types.Response, error)
return nil, err
}
response.Body = bytes.NewBuffer(bodybuf)
response.Request = request
return response, nil
}

View File

@ -52,7 +52,7 @@ func (c Client) RoundTrip(request *types.Request) (*types.Response, error) {
return nil, err
}
return &types.Response{Body: bytes.NewBuffer(response)}, nil
return &types.Response{Body: bytes.NewBuffer(response), Request: request}, nil
}
// Fetch parses a URL string and fetches the gopher resource.

View File

@ -18,6 +18,12 @@ type Response struct {
// Body is the response body, if any.
Body io.Reader
// Request is the request which generated this response.
//
// Available in clients.
// Not set in servers, and there is no need to set it in server handlers.
Request *Request
}
func (response *Response) Close() error {

View File

@ -46,7 +46,7 @@ func (c Client) RoundTrip(request *types.Request) (*types.Response, error) {
return nil, err
}
return &types.Response{Body: bytes.NewBuffer(response)}, nil
return &types.Response{Body: bytes.NewBuffer(response), Request: request}, nil
}
// Fetch builds and sends a nex request, and returns the response.

View File

@ -82,6 +82,7 @@ func (c Client) RoundTrip(request *types.Request) (*types.Response, error) {
return nil, err
}
response.Body = bytes.NewBuffer(bodybuf)
response.Request = request
return response, nil
}