diff --git a/middleware/log.go b/middleware/log.go index eb564bd63e7bca1e564e89c2a84b90e23b9c3a52..48f443a95985dcd1d96127751b090042b55d30f5 100644 --- a/middleware/log.go +++ b/middleware/log.go @@ -17,7 +17,7 @@ func Logger(next jrpc.Handler) jrpc.Handler { log.Trace(). Stringer("time", time.Since(start)). Str("remote", r.Remote()). - Str("method", r.Method()). + Str("method", r.Method). Str("params", string(r.Msg().Params)).Msg("RPC Request") } return jrpc.HandlerFunc(fn) diff --git a/openrpc/types/types.go b/openrpc/types/types.go index df2b5cbf925a99e81a65c35e1ec3ac2d21414a6b..dff54d89e12aab10a50ea9777ac2187826cc0472 100644 --- a/openrpc/types/types.go +++ b/openrpc/types/types.go @@ -63,9 +63,10 @@ type Schema struct { } type Param struct { - Name string `json:"name"` - Required bool `json:"required"` - Schema Schema `json:"schema"` + Name string `json:"name"` + Description string `json:"description,omitempty"` + Required bool `json:"required"` + Schema Schema `json:"schema"` } type Result struct { @@ -74,10 +75,41 @@ type Result struct { } type Method struct { - Name string `json:"name"` - Summary string `json:"summary"` - Params []Param `json:"params"` - Result Result `json:"result"` + Name string `json:"name"` + Tags []Tag `json:"tags,omitempty"` + Summary string `json:"summary"` + Params []Param `json:"params"` + Result Result `json:"result"` + Examples []ExamplePairing `json:"examples,omitempty"` +} + +type Tag struct { + Ref string `json:"$ref,omitempty"` + Name string `json:"name"` + Summary string `json:"summary,omitempty"` + Description string `json:"description,omitempty"` + ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` +} + +type ExternalDocumentation struct { + Description string `json:"description,omitempty"` + URL string `json:"url,omitempty"` +} + +type ExamplePairing struct { + Name string `json:"name"` + Description string `json:"description,omitempty"` + Summary string `json:"summary,omitempty"` + Params []Example `json:"params"` + Result Example `json:"result"` +} + +type Example struct { + Ref string `json:"$ref,omitempty"` + Name string `json:"name"` + Summary string `json:"summary,omitempty"` + Description string `json:"description,omitempty"` + Value any `json:"value"` } func (m *Method) Namespace() string {