Skip to main content

Middleware for validating basic JSON-RPC requests

Project description

Swarmauri Logo

PyPI - Downloads Hits PyPI - Python Version PyPI - License PyPI - swarmauri_middleware_jsonrpc


Swarmauri Middleware JsonRpc

Middleware that performs simple validation of JSON-RPC requests.

Features

  • Validates JSON request bodies for JSON-RPC payloads when the Content-Type header starts with application/json.
  • Returns 400 Bad Request with a plain-text error when the body contains invalid JSON.
  • Ensures JSON object payloads define a jsonrpc field, responding with 400 Bad Request if it is missing.

Installation

Install the middleware with your preferred Python packaging workflow:

pip install swarmauri_middleware_jsonrpc
poetry add swarmauri_middleware_jsonrpc
uv add swarmauri_middleware_jsonrpc
uv pip install swarmauri_middleware_jsonrpc

Usage

from fastapi import FastAPI
from swarmauri_middleware_jsonrpc import JsonRpcMiddleware

app = FastAPI()
app.middleware("http")(JsonRpcMiddleware().dispatch)

The middleware integrates with FastAPI's app.middleware("http") hook and is compatible with the MiddlewareBase ecosystem. Once registered, every incoming JSON request is validated before reaching subsequent middleware or route handlers.

Request Validation

  • Requests without an application/json content type bypass the middleware.
  • Malformed JSON bodies are rejected with a 400 response containing the message Invalid JSON.
  • JSON objects missing the jsonrpc key are rejected with a 400 response and the message Missing jsonrpc field.

Want to help?

If you want to contribute to swarmauri-sdk, read up on our guidelines for contributing that will help you get started.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swarmauri_middleware_jsonrpc-0.8.0.dev37.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file swarmauri_middleware_jsonrpc-0.8.0.dev37.tar.gz.

File metadata

  • Download URL: swarmauri_middleware_jsonrpc-0.8.0.dev37.tar.gz
  • Upload date:
  • Size: 6.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_middleware_jsonrpc-0.8.0.dev37.tar.gz
Algorithm Hash digest
SHA256 3c1043bbc417d60f55b07bf4faef7d6659bf5873a926fbdad839438446bc4683
MD5 f0d1f50041ffa5d2ce00a5570020b355
BLAKE2b-256 fc236848b5f3956b891a1364ec46431a6ea84d192ed29d0810029eb1457a0325

See more details on using hashes here.

File details

Details for the file swarmauri_middleware_jsonrpc-0.8.0.dev37-py3-none-any.whl.

File metadata

  • Download URL: swarmauri_middleware_jsonrpc-0.8.0.dev37-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for swarmauri_middleware_jsonrpc-0.8.0.dev37-py3-none-any.whl
Algorithm Hash digest
SHA256 e2efe2b7d41d3130feb19be984a3ad5a99b7daf34d0aea765bfe43632ac08a93
MD5 c9429e468fb980b26b9eb2989e52163f
BLAKE2b-256 49eceab8d100dda1d4b1def709d5b9d8070c4bc791ed2776a25cb48a0be9ff22

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page