@@ -12,11 +12,14 @@ import (
1212 "slices"
1313 "strings"
1414
15+ "golang.org/x/xerrors"
16+
1517 "cdr.dev/slog/v3"
1618
17- "github.com/coder/quartz"
1819 "github.com/google/uuid"
1920 "github.com/tidwall/pretty"
21+
22+ "github.com/coder/quartz"
2023)
2124
2225const (
@@ -71,7 +74,7 @@ type dumper struct {
7174func (d * dumper ) dumpRequest (req * http.Request ) error {
7275 dumpPath := d .dumpPath + SuffixRequest
7376 if err := os .MkdirAll (filepath .Dir (dumpPath ), 0o755 ); err != nil {
74- return fmt .Errorf ("create dump dir: %w" , err )
77+ return xerrors .Errorf ("create dump dir: %w" , err )
7578 }
7679
7780 // Read and restore body
@@ -80,7 +83,7 @@ func (d *dumper) dumpRequest(req *http.Request) error {
8083 var err error
8184 bodyBytes , err = io .ReadAll (req .Body )
8285 if err != nil {
83- return fmt .Errorf ("read request body: %w" , err )
86+ return xerrors .Errorf ("read request body: %w" , err )
8487 }
8588 req .Body = io .NopCloser (bytes .NewReader (bodyBytes ))
8689 }
@@ -91,18 +94,18 @@ func (d *dumper) dumpRequest(req *http.Request) error {
9194 var buf bytes.Buffer
9295 _ , err := fmt .Fprintf (& buf , "%s %s %s\r \n " , req .Method , req .URL .RequestURI (), req .Proto )
9396 if err != nil {
94- return fmt .Errorf ("write request uri: %w" , err )
97+ return xerrors .Errorf ("write request uri: %w" , err )
9598 }
9699 err = d .writeRedactedHeaders (& buf , req .Header , sensitiveRequestHeaders , map [string ]string {
97100 "Content-Length" : fmt .Sprintf ("%d" , len (prettyBody )),
98101 })
99102 if err != nil {
100- return fmt .Errorf ("write request headers: %w" , err )
103+ return xerrors .Errorf ("write request headers: %w" , err )
101104 }
102105
103106 _ , err = fmt .Fprintf (& buf , "\r \n " )
104107 if err != nil {
105- return fmt .Errorf ("write request header terminator: %w" , err )
108+ return xerrors .Errorf ("write request header terminator: %w" , err )
106109 }
107110 buf .Write (prettyBody )
108111 buf .WriteByte ('\n' )
@@ -117,15 +120,15 @@ func (d *dumper) dumpResponse(resp *http.Response) error {
117120 var headerBuf bytes.Buffer
118121 _ , err := fmt .Fprintf (& headerBuf , "%s %s\r \n " , resp .Proto , resp .Status )
119122 if err != nil {
120- return fmt .Errorf ("write response status: %w" , err )
123+ return xerrors .Errorf ("write response status: %w" , err )
121124 }
122125 err = d .writeRedactedHeaders (& headerBuf , resp .Header , sensitiveResponseHeaders , nil )
123126 if err != nil {
124- return fmt .Errorf ("write response headers: %w" , err )
127+ return xerrors .Errorf ("write response headers: %w" , err )
125128 }
126129 _ , err = fmt .Fprintf (& headerBuf , "\r \n " )
127130 if err != nil {
128- return fmt .Errorf ("write response header terminator: %w" , err )
131+ return xerrors .Errorf ("write response header terminator: %w" , err )
129132 }
130133
131134 // Wrap the response body to capture it as it streams
@@ -175,7 +178,7 @@ func (d *dumper) writeRedactedHeaders(w io.Writer, headers http.Header, sensitiv
175178 if override , ok := overrides [key ]; ok {
176179 _ , err := fmt .Fprintf (w , "%s: %s\r \n " , key , override )
177180 if err != nil {
178- return fmt .Errorf ("write response header override: %w" , err )
181+ return xerrors .Errorf ("write response header override: %w" , err )
179182 }
180183 }
181184 continue
@@ -190,7 +193,7 @@ func (d *dumper) writeRedactedHeaders(w io.Writer, headers http.Header, sensitiv
190193 }
191194 _ , err := fmt .Fprintf (w , "%s: %s\r \n " , key , value )
192195 if err != nil {
193- return fmt .Errorf ("write response headers: %w" , err )
196+ return xerrors .Errorf ("write response headers: %w" , err )
194197 }
195198 }
196199 }
0 commit comments