diff options
author | Aliaksandr Valialkin <valyala@gmail.com> | 2016-03-29 16:30:07 +0300 |
---|---|---|
committer | Aliaksandr Valialkin <valyala@gmail.com> | 2016-03-29 16:30:07 +0300 |
commit | 0c6717981220dc80cd53ab0bef73d13013424973 (patch) | |
tree | a20fd0aa0b63018e535731b93e924569f7273615 /args.go | |
parent | Renamed unsafeBytes2Str to b2s (diff) | |
download | fasthttp-0c6717981220dc80cd53ab0bef73d13013424973.tar.gz fasthttp-0c6717981220dc80cd53ab0bef73d13013424973.tar.bz2 fasthttp-0c6717981220dc80cd53ab0bef73d13013424973.zip |
Added delAllArgsBytes helper
Diffstat (limited to 'args.go')
-rw-r--r-- | args.go | 13 |
1 files changed, 8 insertions, 5 deletions
@@ -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-- |