| ./testing-api/ |
Shows how to test a BlackSheep API using pytest and the provided TestClient (see also testing). |
| ./piccolo-admin/ |
Shows how to use the mount feature to use Piccolo Admin in BlackSheep. |
| ./jwt-validation |
Shows how to configure a BlackSheep API that uses JWTs to implement authentication and authorization for users. |
| ./oidc |
Shows how to configure a BlackSheep app to use OpenID Connect and integrate with: Azure Active Directory, Auth0, Google, or Okta. |
| ./aad-machine-to-machine |
Shows how to configure an API that requires access tokens issued by Azure Active Directory, and how to obtain access tokens using MSAL for Python for a confidential client (machine to machine communication). |
| ./oauth2-password-provider |
Shows an implementation of OAuth2 Server with password authentication. |
| ./websocket-chat |
Shows how to use WebSocket with BlackSheep, the example consists of a simple chat application built using WebSocket and VueJS. |
| ./proxy-1 |
Shows how to create a proxy server with BlackSheep, to proxy all requests to a back-end, and return responses from that back-end. (Proxying to a Flask back-end). |
| ./proxy-2 |
Shows how to create a proxy server with BlackSheep, to proxy all requests to a back-end, and return responses from that back-end. (Proxying to a BlackSheep back-end). |
| ./max-body-size |
Shows a way to control the maximum body size when reading requests streams. |
| ./long-polling |
Shows an example of long polling implemented using BlackSheep. |
| ./server-sent-events |
Shows a basic example of how to use Server-sent events with BlackSheep (>=2.0.6). |
| ./dependency-injector |
Shows how to use Dependency Injector instead of Rodi. |
| ./otel |
Shows how to use OpenTelemetry integration with Grafana, and with Azure Application Insights. |
| ./multipart |
Shows how to define custom classes to handle multipart/form-data input. |
| ./a2wsgi |
Shows an example to use a2wsgi with Gunicorn or uWSGI. |
| ./content-types |
Shows how multiple content-types can be used and documented since version 2.6.2. |