in logsapi/client.go [74:101]
func NewClient(opts ...ClientOption) (*Client, error) {
c := Client{
server: &http.Server{
// Fixes "Potential Slowloris Attack because ReadHeaderTimeout is not configured in the http.Server"
ReadHeaderTimeout: time.Second * 5,
},
httpClient: &http.Client{},
}
for _, opt := range opts {
opt(&c)
}
mux := http.NewServeMux()
mux.HandleFunc("/", handleLogEventsRequest(c.logger, c.logsChannel))
c.server.Handler = mux
if c.logsAPIBaseURL == "" {
return nil, errors.New("logs api base url cannot be empty")
}
if c.logger == nil {
return nil, errors.New("logger cannot be nil")
}
return &c, nil
}