aboutsummaryrefslogtreecommitdiff
path: root/uri.go
diff options
context:
space:
mode:
authorGravatar Aliaksandr Valialkin <valyala@gmail.com> 2016-02-09 20:16:23 +0200
committerGravatar Aliaksandr Valialkin <valyala@gmail.com> 2016-02-09 20:16:23 +0200
commit5507d704f907651179c4464a79305b627634765a (patch)
tree5d49d07907948f2b1c66c1eb0f0c71d6a4847174 /uri.go
parentAdded BodyWriteTo to Request and Response (diff)
downloadfasthttp-5507d704f907651179c4464a79305b627634765a.tar.gz
fasthttp-5507d704f907651179c4464a79305b627634765a.tar.bz2
fasthttp-5507d704f907651179c4464a79305b627634765a.zip
Issue #48: added more tests and code prettifying after PR #50
Diffstat (limited to 'uri.go')
-rw-r--r--uri.go19
1 files changed, 8 insertions, 11 deletions
diff --git a/uri.go b/uri.go
index dd28d3d..a227601 100644
--- a/uri.go
+++ b/uri.go
@@ -212,7 +212,7 @@ func (x *URI) parse(host, uri []byte, h *RequestHeader) {
if queryIndex < 0 && fragmentIndex < 0 {
x.pathOriginal = append(x.pathOriginal, b...)
- x.path = normalizePath(x.path, b)
+ x.path = normalizePath(x.path, x.pathOriginal)
return
}
@@ -225,19 +225,16 @@ func (x *URI) parse(host, uri []byte, h *RequestHeader) {
x.queryString = append(x.queryString, b[queryIndex+1:]...)
} else {
x.queryString = append(x.queryString, b[queryIndex+1:fragmentIndex]...)
+ x.hash = append(x.hash, b[fragmentIndex+1:]...)
}
+ return
}
- if fragmentIndex >= 0 {
- if queryIndex < 0 {
- // Path is up to the start of fragment. Unless a query was before it
- x.pathOriginal = append(x.pathOriginal, b[:fragmentIndex]...)
- x.path = normalizePath(x.path, x.pathOriginal)
- }
-
- x.hash = append(x.hash, b[fragmentIndex+1:]...)
- b = b[:fragmentIndex]
- }
+ // fragmentIndex >= 0 && queryIndex < 0
+ // Path is up to the start of fragment
+ x.pathOriginal = append(x.pathOriginal, b[:fragmentIndex]...)
+ x.path = normalizePath(x.path, x.pathOriginal)
+ x.hash = append(x.hash, b[fragmentIndex+1:]...)
}
func normalizePath(dst, src []byte) []byte {