aboutsummaryrefslogtreecommitdiff
path: root/args.go
diff options
context:
space:
mode:
authorGravatar Aliaksandr Valialkin <valyala@gmail.com> 2016-03-29 16:30:07 +0300
committerGravatar Aliaksandr Valialkin <valyala@gmail.com> 2016-03-29 16:30:07 +0300
commit0c6717981220dc80cd53ab0bef73d13013424973 (patch)
treea20fd0aa0b63018e535731b93e924569f7273615 /args.go
parentRenamed unsafeBytes2Str to b2s (diff)
downloadfasthttp-0c6717981220dc80cd53ab0bef73d13013424973.tar.gz
fasthttp-0c6717981220dc80cd53ab0bef73d13013424973.tar.bz2
fasthttp-0c6717981220dc80cd53ab0bef73d13013424973.zip
Added delAllArgsBytes helper
Diffstat (limited to 'args.go')
-rw-r--r--args.go13
1 files changed, 8 insertions, 5 deletions
diff --git a/args.go b/args.go
index 76a2cf9..9b78488 100644
--- a/args.go
+++ b/args.go
@@ -134,13 +134,12 @@ func (a *Args) WriteTo(w io.Writer) (int64, error) {
// Del deletes argument with the given key from query args.
func (a *Args) Del(key string) {
- a.bufKV.key = append(a.bufKV.key[:0], key...)
- a.DelBytes(a.bufKV.key)
+ a.args = delAllArgs(a.args, key)
}
// DelBytes deletes argument with the given key from query args.
func (a *Args) DelBytes(key []byte) {
- a.args = delAllArgs(a.args, key)
+ a.args = delAllArgs(a.args, b2s(key))
}
// Set sets 'key=value' argument.
@@ -283,10 +282,14 @@ func copyArgs(dst, src []argsKV) []argsKV {
return dst
}
-func delAllArgs(args []argsKV, key []byte) []argsKV {
+func delAllArgsBytes(args []argsKV, key []byte) []argsKV {
+ return delAllArgs(args, b2s(key))
+}
+
+func delAllArgs(args []argsKV, key string) []argsKV {
for i, n := 0, len(args); i < n; i++ {
kv := &args[i]
- if bytes.Equal(kv.key, key) {
+ if key == string(kv.key) {
tmp := *kv
copy(args[i:], args[i+1:])
n--