b3424b769e
- Return errHandlerNotInitialized when Handle called before Init - Propagate s.Shutdown(ctx) error instead of silently discarding - Add doc comments to all exported symbols - Add 20 tests covering constructor, init, metadata parsing, HTTP endpoints via httptest, Handle lifecycle, singleConnListener, and compile-time interface assertions
20 lines
535 B
Go
20 lines
535 B
Go
package api
|
|
|
|
import (
|
|
mdata "github.com/go-gost/core/metadata"
|
|
mdutil "github.com/go-gost/x/metadata/util"
|
|
)
|
|
|
|
// metadata holds parsed configuration for the api handler.
|
|
type metadata struct {
|
|
accesslog bool
|
|
pathPrefix string
|
|
}
|
|
|
|
// parseMetadata extracts api-specific configuration from the generic metadata map.
|
|
func (h *apiHandler) parseMetadata(md mdata.Metadata) (err error) {
|
|
h.md.accesslog = mdutil.GetBool(md, "api.accessLog", "accessLog")
|
|
h.md.pathPrefix = mdutil.GetString(md, "api.pathPrefix", "pathPrefix")
|
|
return
|
|
}
|