Metadata-Version: 2.1
Name: sanic-camelcase-middleware
Version: 1.3.1
Summary: Middleware for camelizing request and response bodies for Sanic
Home-page: https://nf1s.github.io/sanic-camelcase-middleware/
Author: Ahmed Nafies
Author-email: ahmed.nafies@gmail.com
License: MIT
Project-URL: Documentation, https://nf1s.github.io/sanic-camelcase-middleware/
Project-URL: Source, https://github.com/nf1s/sanic-camelcase-middleware
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE.txt

# Sanic Camelcase Middleware

[![CircleCI](https://circleci.com/gh/nf1s/sanic-camelcase-middleware.svg?style=shield)](https://circleci.com/gh/nf1s/sanic-camelcase-middleware) [![codecov](https://codecov.io/gh/nf1s/sanic-camelcase-middleware/branch/master/graph/badge.svg)](https://codecov.io/gh/nf1s/sanic-camelcase-middleware) [![Downloads](https://pepy.tech/badge/sanic-camelcase-middleware)](https://pepy.tech/project/sanic-camelcase-middleware) ![GitHub Pipenv locked Python version](https://img.shields.io/github/pipenv/locked/python-version/nf1s/sanic-camelcase-middleware) ![GitHub](https://img.shields.io/github/license/nf1s/sanic-camelcase-middleware)

Middleware for camelizing request and response bodies for sanic

Full documentation can be found [here](https://nf1s.github.io/sanic-camelcase-middleware/)

## How to install

```bash
    pip install sanic-camelcase-middlware
```

### Example

```python
    from sanic import Sanic
    from sanic_camelcase_middleware import Camelize

    app = Sanic(__name__)
    Camelize(app)
```

### Full example

```python
    from sanic import Sanic
    from sanic.response import json
    from sanic_camelcase_middleware import Camelize

    app = Sanic(__name__)

    Camelize(app)


    @app.route("/post", methods=["POST"])
    async def test(request):
        return json("is_camelcase": True, "message": request.json})


    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=8000)
```

### To disable the middleware for request payload

```python
    from sanic import Sanic
    from sanic_camelcase_middleware import Camelize

    app = Sanic(__name__)

    # default `decamelize_request=True`
    Camelize(app, decamelize_request=False)

```

### To disable the middleware for response body

```python
    from sanic import Sanic
    from sanic_camelcase_middleware import Camelize

    app = Sanic(__name__)

    # default `camelize_response=True`
    Camelize(app, camelize_response=False)

```


