Rucho

Serves a welcome message at the root path (`/`).

HTTP Method:

  • GET

Responses:

  • 200 OK: Returns a plain text welcome message.
get
https://rucho.org/

Response

200 text/plain

Welcome message

string
get/
 
200 text/plain

Echoes back details of the incoming request for any HTTP method.

This endpoint is useful for debugging and understanding how requests are processed.
It reflects the method, path, query parameters, headers, and body of the request.

Responses:

  • 200 OK: Successfully echoed the request details as a JSON object.

Note: While this handler is registered for /anything and /anything/*path,
the OpenAPI documentation for /anything/*path is handled by anything_path_handler
due to current limitations in utoipa with wildcard path parameters in a single handler.

head
https://rucho.org/anything

Query Parameters

connectionstring | null

Set to close to force a Connection: close response and hang up the connection afterward (HTTP/1.1 only; ignored over HTTP/2)

Body

application/octet-stream
string

Response

200 application/json

Echoes request details (includes a tls object over HTTPS; a connection field when ?connection=close is set)

head/anything

Body

No file selected
 
200 application/json

**OpenAPI Documentation Handler for `/anything/*path`**.

This function exists solely to generate the correct OpenAPI documentation
for requests to /anything/{path:.*} (e.g., /anything/foo/bar).
The actual requests to these wildcard paths are handled by anything_handler.

This separation is necessary due to current limitations in utoipa regarding
the generation of OpenAPI specs for handlers that serve both a fixed path and a wildcard path.

Path Parameters:

  • path: The subpath captured by the wildcard (e.g., “foo/bar”).

Responses:

  • 200 OK: Echoes request details for the subpath.
  • Note: This handler, if ever called directly, returns 501 Not Implemented.
head
https://rucho.org/anything/{path:.*}

Path Parameters

pathstringrequired

Subpath for anything endpoint

path:.*stringrequired

Response

200 application/json

Echoes request details for subpath

head/anything/{path:.*}
 
200 application/json

Handles DELETE requests to `/delete`.

Echoes back the request’s method and headers. If a JSON body is provided,
it will also be echoed. Otherwise, the body in the response will be null.

HTTP Method:

  • DELETE

Request Body:

  • Payload (optional): A generic JSON object.

Responses:

  • 200 OK: Returns a JSON object containing method, headers, and body (if provided).
delete
https://rucho.org/delete

Body

application/json
Payload

Request payload wrapper for POST, PUT, PATCH, and DELETE handlers.

This newtype wraps a serde_json::Value to accept arbitrary JSON bodies
in requests that support request bodies.

Response

200 application/json

Echoes request details, body is null if not provided

delete/delete

Body

{}
 
200 application/json

Lists all available API endpoints provided by this server.

Returns a JSON array of EndpointInfo objects, each describing an endpoint’s
path, HTTP method, and a brief description.

HTTP Method:

  • GET

Responses:

  • 200 OK: Successfully returns the list of endpoints.
  • 500 Internal Server Error: If there’s an issue serializing the endpoint data.
get
https://rucho.org/endpoints

Response

200 application/json

Lists all available API endpoints

Represents information about an API endpoint.

descriptionstringrequired

A brief description of the endpoint’s purpose.

Example:Echoes request details for GET.

methodstringrequired

The HTTP method of the endpoint (e.g., “GET”).

Example:GET

pathstringrequired

The path of the endpoint (e.g., “/get”).

Example:/get

get/endpoints
 
200 application/json