コード例 #1
0
def user(request):
    username = request.path_params["username"]
    return PlainTextResponse("Hello, %s!" % username)
コード例 #2
0
ファイル: test_routing.py プロジェクト: r-m-n/starlette
def test_protocol_switch(test_client_factory):
    client = test_client_factory(mixed_protocol_app)

    response = client.get("/")
    assert response.status_code == 200
    assert response.text == "URL: http://testserver/"

    with client.websocket_connect("/") as session:
        assert session.receive_json() == {"URL": "ws://testserver/"}

    with pytest.raises(WebSocketDisconnect):
        with client.websocket_connect("/404"):
            pass  # pragma: nocover


ok = PlainTextResponse("OK")


def test_mount_urls(test_client_factory):
    mounted = Router([Mount("/users", ok, name="users")])
    client = test_client_factory(mounted)
    assert client.get("/users").status_code == 200
    assert client.get("/users").url == "http://testserver/users/"
    assert client.get("/users/").status_code == 200
    assert client.get("/users/a").status_code == 200
    assert client.get("/usersa").status_code == 404


def test_reverse_mount_urls():
    mounted = Router([Mount("/users", ok, name="users")])
    assert mounted.url_path_for("users", path="/a") == "/users/a"
コード例 #3
0
ファイル: test_routing.py プロジェクト: r-m-n/starlette
def test_standalone_route_does_not_match(test_client_factory):
    app = Route("/", PlainTextResponse("Hello, World!"))
    client = test_client_factory(app)
    response = client.get("/invalid")
    assert response.status_code == 404
    assert response.text == "Not Found"
コード例 #4
0
async def validation_exception_handler(request, exc):
    return PlainTextResponse(str(exc), status_code=400)
コード例 #5
0
 async def hello(request):
     with async_capture_span("test"):
         pass
     return PlainTextResponse("ok")
コード例 #6
0
 def homepage(request):
     return PlainTextResponse("Homepage", status_code=200)
コード例 #7
0

async def database_updates(request):
    num_queries = get_num_queries(request)
    updates = [(row_id, randint(1, 10000))
               for row_id in sample(range(1, 10000), num_queries)]
    worlds = [{
        'id': row_id,
        'randomNumber': number
    } for row_id, number in updates]

    async with connection_pool.acquire() as connection:
        statement = await connection.prepare(READ_ROW_SQL)
        for row_id, number in updates:
            await statement.fetchval(row_id)
        await connection.executemany(WRITE_ROW_SQL, updates)

    return JSONResponse(worlds)


routes = [
    Route('/json', JSONResponse({'message': 'Hello, world!'})),
    Route('/db', single_database_query),
    Route('/queries', multiple_database_queries),
    Route('/fortunes', fortunes),
    Route('/updates', database_updates),
    Route('/plaintext', PlainTextResponse(b'Hello, world!')),
]

app = Starlette(routes=routes, on_startup=[setup_database])
コード例 #8
0
 def homepage(request):
     return PlainTextResponse("Hello, world!")
コード例 #9
0
ファイル: exceptions.py プロジェクト: pk400/astraea.systems
 def http_exception(self, request: Request, exc: HTTPException) -> Response:
     if exc.status_code in {204, 304}:
         return Response(b"", status_code=exc.status_code)
     return PlainTextResponse(exc.detail, status_code=exc.status_code)
コード例 #10
0
async def ping(_: Request) -> Response:
    return PlainTextResponse("Pong!")
コード例 #11
0
 def error_response(self, request: Request, exc: Exception) -> Response:
     return PlainTextResponse("Internal Server Error", status_code=500)
コード例 #12
0
 def health(_):
     return PlainTextResponse("ok")
コード例 #13
0
 def home(_):
     return PlainTextResponse("hi")
コード例 #14
0
def user_me(request):
    username = "******"
    return PlainTextResponse("Hello, %s!" % username)
コード例 #15
0
async def plaintext():
    return PlainTextResponse(b'Hello, world!')
コード例 #16
0
ファイル: peer.py プロジェクト: cyrex562/wg-manager
def add_peer_get_config(peer_add: schemas.WGPeerConfigAdd,
                        sess: Session = Depends(middleware.get_db)):
    wg_peer: schemas.WGPeer = add_peer(peer_add, sess)

    return PlainTextResponse(wg_peer.configuration)
コード例 #17
0
 def homepage(request):
     return PlainTextResponse("Homepage",
                              status_code=200,
                              headers={"Vary": "Accept-Encoding"})
コード例 #18
0
ファイル: starlette.py プロジェクト: inikolaev/ddtrace-asgi
async def example(request: Request) -> Response:
    return PlainTextResponse("Hello, world!")
コード例 #19
0
 def catcher(request, exc):
     return PlainTextResponse("Suppressed error", 500)
コード例 #20
0
ファイル: starlette.py プロジェクト: inikolaev/ddtrace-asgi
async def child(request: Request) -> Response:
    tracer: Tracer = request["ddtrace_asgi.tracer"]
    with tracer.trace("asgi.request.child", resource="child") as span:
        span.set_tag("hello", "world")
        return PlainTextResponse("Hello, child!")
コード例 #21
0
ファイル: routing.py プロジェクト: synapticarbors/starlette
 def __call__(self, scope: Scope) -> ASGIInstance:
     if self.methods and scope["method"] not in self.methods:
         if "app" in scope:
             raise HTTPException(status_code=405)
         return PlainTextResponse("Method Not Allowed", status_code=405)
     return self.app(scope)
コード例 #22
0
ファイル: starlette_test.py プロジェクト: PWZER/swagger-ui-py
 def hello_world(request):
     return PlainTextResponse('Hello World!!!')
コード例 #23
0
 async def hi_name(request):
     name = request.path_params["name"]
     return PlainTextResponse("Hi {}".format(name))
コード例 #24
0
 async def root(request):
     conn = await request["connection"].get_raw_connection()
     # noinspection PyProtectedMember
     assert (conn._holder._max_inactive_time ==
             _MAX_INACTIVE_CONNECTION_LIFETIME)
     return PlainTextResponse("Hello, world!")
コード例 #25
0
 async def without_slash(request):
     return PlainTextResponse("Hi {}".format(request.path_params["name"]))
コード例 #26
0
def ok(request):
    return PlainTextResponse("OK")
コード例 #27
0
ファイル: test_routing.py プロジェクト: r-m-n/starlette
def test_standalone_route_matches(test_client_factory):
    app = Route("/", PlainTextResponse("Hello, World!"))
    client = test_client_factory(app)
    response = client.get("/")
    assert response.status_code == 200
    assert response.text == "Hello, World!"
コード例 #28
0
ファイル: app.py プロジェクト: aita/istio-sample
async def index(request):
    async with aiohttp.ClientSession() as session:
        data = await fetch(session, f"http://{HELLO_ADDR}")
    message = greet(data["name"])
    return PlainTextResponse(message)
コード例 #29
0
ファイル: test_routing.py プロジェクト: r-m-n/starlette
 async def hello_world(request):
     return PlainTextResponse("hello, world")
コード例 #30
0
ファイル: app.py プロジェクト: terencehonles/pyrollbar
async def error(request):
    await localfunc('func_arg1', 'func_arg2', 1)
    return PlainTextResponse("You shouldn't be seeing this")