Part 1 fixes: complete stdout writes, buffered stdin, Rust type names in schemas, enum variant docs, -32603 for serde errors in handlers, crate docs and modules. End-to-end check of a generated consumer through a fake core.
105 lines
2.6 KiB
JSON
105 lines
2.6 KiB
JSON
{
|
|
"components": {
|
|
"schemas": {
|
|
"Empty": {
|
|
"description": "Empty parameters for methods without arguments.",
|
|
"type": "object"
|
|
},
|
|
"StartParams": {
|
|
"description": "The server configuration.",
|
|
"properties": {
|
|
"port": {
|
|
"description": "The HTTP port on all network interfaces.",
|
|
"format": "uint16",
|
|
"maximum": 65535,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"port"
|
|
],
|
|
"type": "object"
|
|
}
|
|
}
|
|
},
|
|
"info": {
|
|
"title": "www",
|
|
"version": "0.1.0"
|
|
},
|
|
"methods": [
|
|
{
|
|
"description": "Start the HTTP server and return its process ID.",
|
|
"name": "start",
|
|
"paramStructure": "by-name",
|
|
"params": [
|
|
{
|
|
"description": "The HTTP port on all network interfaces.",
|
|
"name": "port",
|
|
"required": true,
|
|
"schema": {
|
|
"description": "The HTTP port on all network interfaces.",
|
|
"format": "uint16",
|
|
"maximum": 65535,
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
}
|
|
],
|
|
"result": {
|
|
"name": "result",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"summary": "Start the HTTP server and return its process ID.",
|
|
"x-sausage-params": {
|
|
"$ref": "#/components/schemas/StartParams"
|
|
}
|
|
}
|
|
],
|
|
"openrpc": "1.2.6",
|
|
"x-sausage-endpoints": {
|
|
"control": {
|
|
"methods": [
|
|
{
|
|
"description": "Count the HTTP requests this server answered.",
|
|
"name": "stats",
|
|
"paramStructure": "by-name",
|
|
"params": [],
|
|
"result": {
|
|
"name": "result",
|
|
"schema": {
|
|
"format": "uint64",
|
|
"minimum": 0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"summary": "Count the HTTP requests this server answered.",
|
|
"x-sausage-params": {
|
|
"$ref": "#/components/schemas/Empty"
|
|
}
|
|
},
|
|
{
|
|
"description": "End this process after the response reaches the client.",
|
|
"name": "stop",
|
|
"paramStructure": "by-name",
|
|
"params": [],
|
|
"result": {
|
|
"name": "result",
|
|
"schema": {
|
|
"type": "null"
|
|
}
|
|
},
|
|
"summary": "End this process after the response reaches the client.",
|
|
"x-sausage-params": {
|
|
"$ref": "#/components/schemas/Empty"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"x-sausage-grace": 5,
|
|
"x-sausage-imports": {}
|
|
}
|