@@ -2,7 +2,6 @@ package http
2
2
3
3
import (
4
4
"bytes"
5
- "compress/gzip"
6
5
"context"
7
6
"crypto/sha256"
8
7
"fmt"
@@ -43,12 +42,6 @@ type (
43
42
}
44
43
)
45
44
46
- func handleGzipServeErr (err error ) {
47
- if err != nil {
48
- log .Error ().Err (err ).Msg ("Error occurred serving gzip response from memory" )
49
- }
50
- }
51
-
52
45
func (h handler ) getCacheKey (req * http.Request ) string {
53
46
cacheKey := sha256 .New ()
54
47
cacheKey .Write ([]byte (req .URL .Path ))
@@ -75,21 +68,8 @@ func serveResponseFromMemory(res http.ResponseWriter, result *model.Response) {
75
68
}
76
69
77
70
res .WriteHeader (result .Status )
78
-
79
- if res .Header ().Get ("content-encoding" ) == "gzip" {
80
- var b bytes.Buffer
81
- gz := gzip .NewWriter (& b )
82
- _ , err := gz .Write (result .Body )
83
- handleGzipServeErr (err )
84
- err = gz .Close ()
85
- handleGzipServeErr (err )
86
- _ , err = res .Write (b .Bytes ())
87
- handleGzipServeErr (err )
88
-
89
- return
90
- }
91
-
92
71
_ , err := res .Write (result .Body )
72
+
93
73
if err != nil {
94
74
log .Error ().Err (err ).Msg ("Error occurred serving response from memory" )
95
75
}
@@ -134,15 +114,17 @@ func (h handler) asyncCacheRevalidate(hashKey string, req *http.Request) func()
134
114
newReq .URL .Scheme = h .cfg .DownstreamHost .Scheme
135
115
newReq .RequestURI = ""
136
116
resp , err := client .Do (newReq )
117
+ if resp != nil {
118
+ defer resp .Body .Close ()
119
+ }
137
120
if err != nil {
138
121
log .Ctx (ctx ).Error ().Err (err ).Msg ("Errored when sending request to the server" )
139
122
140
123
return
141
124
}
142
- err = h .cacheResponse (ctx , hashKey )(resp )
143
125
144
- if err != nil {
145
- log .Print ( " Error occurred caching response" )
126
+ if err := h . cacheResponse ( ctx , hashKey )( resp ); err != nil {
127
+ log .Ctx ( ctx ). Error (). Err ( err ). Msg ( "Errored when caching response" )
146
128
}
147
129
}
148
130
}
@@ -207,19 +189,7 @@ func (h handler) cacheResponse(ctx context.Context, hashKey string) func(*http.R
207
189
return nil
208
190
}
209
191
210
- var body []byte
211
- var readErr error
212
- if response .Header .Get ("content-encoding" ) == "gzip" {
213
- reader , err := gzip .NewReader (response .Body )
214
- if err != nil {
215
- logger .Error ().Err (err ).Msg ("error occurred creating gzip reader" )
216
-
217
- return nil
218
- }
219
- body , readErr = io .ReadAll (reader )
220
- } else {
221
- body , readErr = io .ReadAll (response .Body )
222
- }
192
+ body , readErr := io .ReadAll (response .Body )
223
193
224
194
if readErr != nil {
225
195
logger .Error ().Err (readErr ).Msg ("error occurred reading response body" )
0 commit comments