blob: e3333f5e6c7bcb88c0836440bdbbef0a26f0a5f4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
package web
import (
"net/http"
"github.com/rs/zerolog"
"github.com/xlgmokha/x/pkg/log"
"github.com/xlgmokha/x/pkg/mapper"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/pls"
)
type Transport struct {
Logger *zerolog.Logger
}
func (r *Transport) RoundTrip(request *http.Request) (*http.Response, error) {
ctx := r.Logger.WithContext(request.Context())
log.WithFields(ctx, mapper.MapFrom[*http.Request, log.Fields](request))
defer pls.FlushLog(ctx)
response, err := http.DefaultTransport.RoundTrip(request)
if err != nil {
pls.LogError(ctx, err)
return response, err
}
log.WithFields(ctx, log.Fields{"status_code": response.StatusCode})
return response, nil
}
|