github.com/0chain/gosdk@v1.17.11/core/resty/option.go (about) 1 package resty 2 3 import ( 4 "net/http" 5 ) 6 7 // WithRetry set retry times if request is failure with 5xx status code. retry is ingore if it is less than 1. 8 func WithRetry(retry int) Option { 9 return func(r *Resty) { 10 if retry > 0 { 11 r.retry = retry 12 } 13 } 14 } 15 16 // WithHeader set header for http request 17 func WithHeader(header map[string]string) Option { 18 return func(r *Resty) { 19 if r.header == nil { 20 r.header = make(map[string]string) 21 } 22 23 for k, v := range header { 24 r.header[k] = v 25 } 26 } 27 } 28 29 // WithRequestInterceptor intercept request 30 func WithRequestInterceptor(interceptor func(req *http.Request) error) Option { 31 return func(r *Resty) { 32 r.requestInterceptor = interceptor 33 } 34 } 35 36 // WithTransport set transport 37 func WithTransport(transport *http.Transport) Option { 38 return func(r *Resty) { 39 r.transport = transport 40 } 41 } 42 43 // WithClient set client 44 func WithClient(c Client) Option { 45 return func(r *Resty) { 46 r.client = c 47 } 48 }