Define reusable response bodies in .api with typed code mappings, per-route overrides and matching OpenAPI schemas. Add application and callback encoders, early response policy selection, and isolated remote-consumer release verification. Release v0.8.0-preview after full race, vet, build and local MySQL workflow acceptance.
31 lines
699 B
Go
31 lines
699 B
Go
// Code generated by go-omni api. DO NOT EDIT.
|
|
package handler
|
|
|
|
import (
|
|
"encoding/json"
|
|
"git.yuntuo.hk/k2safe/go-omni/response"
|
|
"strings"
|
|
)
|
|
|
|
var responseTemplates = map[string]response.Encoder{"": response.Default()}
|
|
|
|
func newResponseTemplate(raw string) response.Encoder {
|
|
var cfg response.Config
|
|
decoder := json.NewDecoder(strings.NewReader(raw))
|
|
decoder.UseNumber()
|
|
if err := decoder.Decode(&cfg); err != nil {
|
|
panic(err)
|
|
}
|
|
return response.MustNew(cfg)
|
|
}
|
|
func responseEncoder(name string, raw bool) response.Encoder {
|
|
encoder := responseTemplates[name]
|
|
if encoder == nil {
|
|
panic("unknown response template")
|
|
}
|
|
if raw {
|
|
encoder = response.RawJSON(encoder)
|
|
}
|
|
return encoder
|
|
}
|