From 20f2531b9acbe40e9f8ebda4f9127ab65530c789 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 20 Jan 2016 15:21:55 +0100 Subject: Rotate nonces --- provider.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/provider.go b/provider.go index aecb39c..f154a2f 100644 --- a/provider.go +++ b/provider.go @@ -39,8 +39,10 @@ func (p Provider) RoundTrip(req *http.Request) (*http.Response, error) { if err != nil { return nil, err } - nonce := resp.Header.Get("Replay-Nonce") - if nonce != "" && len(p.nonces) < cap(p.nonces) { + if nonce := resp.Header.Get("Replay-Nonce"); nonce != "" { + if len(p.nonces) == cap(p.nonces) { + <-p.nonces // drop oldest + } p.nonces <- nonce } // not sure if it belongs here -- cgit v1.2.3