380
381
// NewHTTPHandler constructs an [http.Handler] from given options for handling Nexus service requests.
382
>
func NewHTTPHandler(options HandlerOptions) http.Handler {
server.go
383
>
if options.Logger == nil {
384
options.Logger = slog.Default()
385
}
386
>
if options.GetResultTimeout == 0 {
server.go
387
options.GetResultTimeout = time.Minute
388
}
389
>
if options.Serializer == nil {
server.go
390
options.Serializer = nexus.DefaultSerializer()
391
}
392
>
if options.FailureConverter == nil {
server.go
393
options.FailureConverter = DefaultFailureConverter()
394
}
396
>
BaseHTTPHandler: BaseHTTPHandler{
397
>
Logger: options.Logger,
398
>
FailureConverter: options.FailureConverter,
399
>
},
400
>
options: options,
401
>
}
402
>
403
>
return http.HandlerFunc(handler.handleRequest)
404
}