| 260 | } |
| 261 | |
| 262 | func NewLongPollClient(config LongPollClientConfig) (*LongPollClient, error) { |
| 263 | var logger *log.Entry |
| 264 | if config.Url == (url.URL{}) { |
| 265 | return nil, errors.New("url is required") |
| 266 | } |
| 267 | if config.Logger == nil { |
| 268 | logger = log.WithField("component", "longpollclient") |
| 269 | } else { |
| 270 | logger = config.Logger.WithFields(log.Fields{ |
| 271 | "component": "longpollclient", |
| 272 | "url": config.Url.String(), |
| 273 | }) |
| 274 | } |
| 275 | |
| 276 | return &LongPollClient{ |
| 277 | url: config.Url, |
| 278 | logger: logger, |
| 279 | httpClient: config.HttpClient, |
| 280 | }, nil |
| 281 | } |