File: ninja_views.py

package info (click to toggle)
python-django-structlog 9.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,004 kB
  • sloc: python: 3,509; sh: 206; javascript: 79; makefile: 19
file content (23 lines) | stat: -rw-r--r-- 591 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import structlog
from ninja import NinjaAPI, Router
from ninja.security import SessionAuth

api = NinjaAPI(urls_namespace="ninja")
router = Router()

logger = structlog.get_logger(__name__)


# OptionalSessionAuth is a custom authentication class that allows the user to be anonymous
class OptionalSessionAuth(SessionAuth):
    def authenticate(self, request, key):
        return request.user


@router.get("/ninja", url_name="ninja", auth=OptionalSessionAuth())
def ninja(request):
    logger.info("This is a ninja structured log")
    return {"result": "ok"}


api.add_router("", router)