move limiting into foo
parent
b54be3c32c
commit
d361c2164f
|
|
@ -1,7 +1,10 @@
|
|||
package broker
|
||||
|
||||
import (
|
||||
"context"
|
||||
"local/truckstop/config"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"golang.org/x/time/rate"
|
||||
)
|
||||
|
|
@ -15,3 +18,11 @@ var limiter = rate.NewLimiter(rate.Limit(1.0/20.0), 1)
|
|||
type Broker interface {
|
||||
Search([]config.State) ([]Job, error)
|
||||
}
|
||||
|
||||
func do(r *http.Request) (*http.Response, error) {
|
||||
limiter.Wait(context.Background())
|
||||
if strings.Contains(strings.ToLower(r.URL.Path), "login") {
|
||||
authlimiter.Wait(context.Background())
|
||||
}
|
||||
return http.DefaultClient.Do(r)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package broker
|
|||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
|
@ -110,8 +109,7 @@ func (ntg NTGVision) refreshAuth() error {
|
|||
return err
|
||||
}
|
||||
setNTGHeaders(request)
|
||||
authlimiter.Wait(context.Background())
|
||||
resp, err := http.DefaultClient.Do(request)
|
||||
resp, err := do(request)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
@ -140,9 +138,7 @@ func (ntg NTGVision) _search(states []config.State) (io.ReadCloser, error) {
|
|||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
c := http.Client{Timeout: time.Minute}
|
||||
limiter.Wait(context.Backgroud())
|
||||
resp, err := c.Do(request)
|
||||
resp, err := do(request)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue