Added api & route handling
Some checks failed
Build on push / prepare (push) Successful in 9s
Build on push / core (push) Successful in 19s
Build on push / query (push) Successful in 19s
Build on push / dependency (push) Successful in 17s
Build on push / application (push) Successful in 15s
Build on push / database (push) Successful in 18s
Build on push / mail (push) Successful in 19s
Build on push / translation (push) Successful in 23s
Build on push / auth (push) Successful in 16s
Build on push / api (push) Failing after 14s

This commit is contained in:
2025-09-19 21:03:33 +02:00
parent 1a67318091
commit ddc62dfb9a
34 changed files with 568 additions and 42 deletions

View File

@@ -0,0 +1,23 @@
from starlette.responses import JSONResponse
from cpl.api.web_app import WebApp
from cpl.application import ApplicationBuilder
from custom.api.src.service import PingService
def main():
builder = ApplicationBuilder[WebApp](WebApp)
builder.services.add_logging()
builder.services.add_transient(PingService)
app = builder.build()
app.with_route(path="/route1", fn=lambda r: JSONResponse("route1"), method="GET")
app.with_routes_directory("routes")
app.with_logging()
app.run()
if __name__ == "__main__":
main()

View File

View File

@@ -0,0 +1,13 @@
from urllib.request import Request
from starlette.responses import JSONResponse
from cpl.api.router import Router
from cpl.core.log import Logger
from custom.api.src.service import PingService
@Router.get(f"/ping")
async def ping(r: Request, ping: PingService, logger: Logger):
logger.info(f"Ping: {ping}")
return JSONResponse(ping.ping(r))

View File

@@ -0,0 +1,4 @@
class PingService:
def ping(self, r):
return "pong"