Skip to content

Commit 052312c

Browse files
committed
go-aah/aah#186 deprecated cleanup in ahttp lib
1 parent fbcb631 commit 052312c

6 files changed

+14
-137
lines changed

gzip_response.go

-22
Original file line numberDiff line numberDiff line change
@@ -29,28 +29,6 @@ var (
2929
_ ResponseWriter = (*GzipResponse)(nil)
3030
)
3131

32-
//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
33-
// Package methods
34-
//___________________________________
35-
36-
// TODO for old method cleanup
37-
38-
// GetGzipResponseWriter wraps `http.ResponseWriter`, returns aah framework response
39-
// writer that allows to advantage of response process.
40-
// Deprecated use `WrapGzipWriter` instead.
41-
func GetGzipResponseWriter(w ResponseWriter) ResponseWriter {
42-
gr := grPool.Get().(*GzipResponse)
43-
gr.gw = acquireGzipWriter(w)
44-
gr.r = w.(*Response)
45-
return gr
46-
}
47-
48-
// PutGzipResponseWiriter method resets and puts the gzip writer into pool.
49-
// Deprecated use `ReleaseResponseWriter` instead.
50-
func PutGzipResponseWiriter(rw ResponseWriter) {
51-
releaseGzipResponse(rw.(*GzipResponse))
52-
}
53-
5432
//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
5533
// GzipResponse
5634
//___________________________________

gzip_response_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import (
2121
func TestHTTPGzipWriter(t *testing.T) {
2222
handler := func(w http.ResponseWriter, r *http.Request) {
2323
GzipLevel = gzip.BestSpeed
24-
gw := GetGzipResponseWriter(GetResponseWriter(w))
25-
defer PutGzipResponseWiriter(gw)
24+
gw := WrapGzipWriter(AcquireResponseWriter(w))
25+
defer ReleaseResponseWriter(gw)
2626

2727
gw.Header().Set(HeaderVary, HeaderAcceptEncoding)
2828
gw.Header().Set(HeaderContentEncoding, "gzip")
@@ -92,7 +92,7 @@ func TestHTTPGzipHijack(t *testing.T) {
9292
ngw, _ := gzip.NewWriterLevel(w, GzipLevel)
9393
gwPool.Put(ngw)
9494
}
95-
gw := WrapGzipWriter(GetResponseWriter(w))
95+
gw := WrapGzipWriter(AcquireResponseWriter(w))
9696

9797
con, rw, err := gw.(http.Hijacker).Hijack()
9898
assert.FailOnError(t, err, "")

request.go

+4-42
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"net/http"
1313
"net/url"
1414
"os"
15-
"path/filepath"
1615
"strings"
1716
"sync"
1817

@@ -43,8 +42,7 @@ func ParseRequest(r *http.Request, req *Request) *Request {
4342
req.Referer = getReferer(r.Header)
4443
req.UserAgent = r.Header.Get(HeaderUserAgent)
4544
req.IsGzipAccepted = strings.Contains(r.Header.Get(HeaderAcceptEncoding), "gzip")
46-
req.Raw = r
47-
45+
req.raw = r
4846
return req
4947
}
5048

@@ -89,12 +87,7 @@ type Request struct {
8987
// otherwise false.
9088
IsGzipAccepted bool
9189

92-
// Raw an object of Go HTTP server, direct interaction with
93-
// raw object is not encouraged.
94-
//
95-
// DEPRECATED: Raw field to be unexported on v1 release, use `Req.Unwarp()` instead.
96-
Raw *http.Request
97-
90+
raw *http.Request
9891
locale *Locale
9992
contentType *ContentType
10093
acceptContentType *ContentType
@@ -252,7 +245,7 @@ func (r *Request) Body() io.ReadCloser {
252245
// Unwrap method returns the underlying *http.Request instance of Go HTTP server,
253246
// direct interaction with raw object is not encouraged. Use it appropriately.
254247
func (r *Request) Unwrap() *http.Request {
255-
return r.Raw
248+
return r.raw
256249
}
257250

258251
// SaveFile method saves an uploaded multipart file for given key from the HTTP
@@ -275,37 +268,6 @@ func (r *Request) SaveFile(key, dstFile string) (int64, error) {
275268
return saveFile(uploadedFile, dstFile)
276269
}
277270

278-
// SaveFiles method saves an uploaded multipart file(s) for the given key
279-
// from the HTTP request into given destination directory. It uses the filename
280-
// as uploaded filename from the request
281-
func (r *Request) SaveFiles(key, dstPath string) ([]int64, []error) {
282-
if !ess.IsDir(dstPath) {
283-
return []int64{0}, []error{fmt.Errorf("ahttp: destination path, '%s' is not a directory", dstPath)}
284-
}
285-
286-
if ess.IsStrEmpty(key) {
287-
return []int64{0}, []error{fmt.Errorf("ahttp: form file key, '%s' is empty", key)}
288-
}
289-
290-
var errs []error
291-
var sizes []int64
292-
for _, file := range r.Params.File[key] {
293-
uploadedFile, err := file.Open()
294-
if err != nil {
295-
sizes = append(sizes, 0)
296-
errs = append(errs, err)
297-
continue
298-
}
299-
300-
if size, err := saveFile(uploadedFile, filepath.Join(dstPath, file.Filename)); err != nil {
301-
sizes = append(sizes, size)
302-
errs = append(errs, err)
303-
}
304-
ess.CloseQuietly(uploadedFile)
305-
}
306-
return sizes, errs
307-
}
308-
309271
// Reset method resets request instance for reuse.
310272
func (r *Request) Reset() {
311273
r.Scheme = ""
@@ -318,8 +280,8 @@ func (r *Request) Reset() {
318280
r.Referer = ""
319281
r.UserAgent = ""
320282
r.IsGzipAccepted = false
321-
r.Raw = nil
322283

284+
r.raw = nil
323285
r.locale = nil
324286
r.contentType = nil
325287
r.acceptContentType = nil

request_test.go

+1-44
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ func TestHTTPParseRequest(t *testing.T) {
105105
ReleaseRequest(aahReq)
106106
assert.Nil(t, aahReq.Header)
107107
assert.Nil(t, aahReq.Params)
108-
assert.Nil(t, aahReq.Raw)
108+
assert.Nil(t, aahReq.raw)
109109
assert.True(t, aahReq.UserAgent == "")
110110
}
111111

@@ -255,49 +255,6 @@ func TestRequestSaveFileCannotCreateFile(t *testing.T) {
255255
assert.True(t, strings.HasPrefix(err.Error(), "ahttp: open /root/aah.txt"))
256256
}
257257

258-
func TestRequestSaveFiles(t *testing.T) {
259-
aahReq, dir, teardown := setUpRequestSaveFiles(t)
260-
defer teardown()
261-
262-
sizes, errs := aahReq.SaveFiles("framework", dir)
263-
assert.Nil(t, errs)
264-
assert.Nil(t, sizes)
265-
_, err := os.Stat(dir + "/aah")
266-
assert.Nil(t, err)
267-
_, err = os.Stat(dir + "/aah2")
268-
assert.Nil(t, err)
269-
}
270-
271-
func TestRequestSaveFilesFailsVaildation(t *testing.T) {
272-
aahReq, dir, teardown := setUpRequestSaveFiles(t)
273-
defer teardown()
274-
275-
// Empty key
276-
sizes, errs := aahReq.SaveFiles("", dir)
277-
assert.NotNil(t, errs)
278-
assert.Equal(t, "ahttp: form file key, '' is empty", errs[0].Error())
279-
assert.Equal(t, int64(0), sizes[0])
280-
281-
// Empty directory
282-
sizes, errs = aahReq.SaveFiles("key", "")
283-
assert.NotNil(t, errs)
284-
assert.Equal(t, "ahttp: destination path, '' is not a directory", errs[0].Error())
285-
assert.Equal(t, int64(0), sizes[0])
286-
}
287-
288-
func TestRequestSaveFilesCannotCreateFile(t *testing.T) {
289-
aahReq, _, teardown := setUpRequestSaveFiles(t)
290-
defer teardown()
291-
292-
sizes, errs := aahReq.SaveFiles("framework", "/root")
293-
assert.NotNil(t, errs)
294-
assert.Equal(t, int64(0), sizes[0])
295-
296-
errMsg := errs[0].Error()
297-
assert.True(t, ("ahttp: open /root/aah: permission denied" == errMsg ||
298-
"ahttp: destination path, '/root' is not a directory" == errMsg))
299-
}
300-
301258
func TestRequestSaveFileForExistingFile(t *testing.T) {
302259
var buf bytes.Buffer
303260

response.go

-20
Original file line numberDiff line numberDiff line change
@@ -40,26 +40,6 @@ type ResponseWriter interface {
4040
Unwrap() http.ResponseWriter
4141
}
4242

43-
//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
44-
// Package methods
45-
//___________________________________
46-
47-
// TODO for old method cleanup
48-
49-
// GetResponseWriter method wraps given writer and returns the aah response writer.
50-
// Deprecated use `AcquireResponseWriter` instead.
51-
func GetResponseWriter(w http.ResponseWriter) ResponseWriter {
52-
rw := responsePool.Get().(*Response)
53-
rw.w = w
54-
return rw
55-
}
56-
57-
// PutResponseWriter method puts response writer back to pool.
58-
// Deprecated use `ReleaseResponseWriter` instead.
59-
func PutResponseWriter(aw ResponseWriter) {
60-
releaseResponse(aw.(*Response))
61-
}
62-
6343
//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
6444
// Response
6545
//___________________________________

response_test.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ import (
1818

1919
func TestHTTPResponseWriter(t *testing.T) {
2020
handler := func(w http.ResponseWriter, r *http.Request) {
21-
writer := GetResponseWriter(w)
22-
defer PutResponseWriter(writer)
21+
writer := AcquireResponseWriter(w)
22+
defer ReleaseResponseWriter(writer)
2323

2424
writer.WriteHeader(http.StatusOK)
2525
assert.Equal(t, http.StatusOK, writer.Status())
@@ -47,8 +47,8 @@ func TestHTTPNoStatusWritten(t *testing.T) {
4747

4848
func TestHTTPMultipleStatusWritten(t *testing.T) {
4949
handler := func(w http.ResponseWriter, r *http.Request) {
50-
writer := GetResponseWriter(w)
51-
defer PutResponseWriter(writer)
50+
writer := AcquireResponseWriter(w)
51+
defer ReleaseResponseWriter(writer)
5252

5353
writer.WriteHeader(http.StatusOK)
5454
writer.WriteHeader(http.StatusAccepted)
@@ -85,8 +85,8 @@ func TestHTTPHijackCall(t *testing.T) {
8585

8686
func TestHTTPCallCloseNotifyAndFlush(t *testing.T) {
8787
handler := func(w http.ResponseWriter, r *http.Request) {
88-
writer := GetResponseWriter(w)
89-
defer PutResponseWriter(writer)
88+
writer := AcquireResponseWriter(w)
89+
defer ReleaseResponseWriter(writer)
9090

9191
_, _ = writer.Write([]byte("aah framework calling close notify and flush"))
9292
assert.Equal(t, 44, writer.BytesWritten())

0 commit comments

Comments
 (0)