diff options
| author | mo khan <mo@mokhan.ca> | 2025-04-17 12:43:54 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-04-17 12:43:54 -0600 |
| commit | c2446fee22eb42eada473288cd329d4b09baa687 (patch) | |
| tree | b02c6d69d05af5a1e9bddc6ef9d1532c6f7c18e1 /pkg/web/transport.go | |
| parent | 812bba426cd60ff746054a5b883b5e13ca75b0ff (diff) | |
refactor: use mockoidc to test out id token verification
Diffstat (limited to 'pkg/web/transport.go')
| -rw-r--r-- | pkg/web/transport.go | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/pkg/web/transport.go b/pkg/web/transport.go new file mode 100644 index 0000000..b8d728a --- /dev/null +++ b/pkg/web/transport.go @@ -0,0 +1,33 @@ +package web + +import ( + "net/http" + + "github.com/rs/zerolog" + "github.com/xlgmokha/x/pkg/log" + "github.com/xlgmokha/x/pkg/mapper" +) + +type Transport struct { + Logger *zerolog.Logger +} + +func (r *Transport) RoundTrip(request *http.Request) (*http.Response, error) { + ctx := r.Logger.WithContext(request.Context()) + + defer func() { + log.WithFields(ctx, mapper.MapFrom[*http.Request, log.Fields](request)) + zerolog.Ctx(ctx).Print() + }() + + response, err := http.DefaultTransport.RoundTrip(request) + if err != nil { + r.Logger.Err(err) + return response, err + } + + log.WithFields(ctx, log.Fields{ + "status_code": response.StatusCode, + }) + return response, nil +} |
