예제 #1
0
def test_option_some_iterate():
    xs = Some(42)

    for x in option.to_list(xs):
        assert x == 42
        break
    else:
        assert False
예제 #2
0
async def text(
    next: HttpFunc[str, TResult, TError],
    context: HttpContext,
) -> HttpFuncResult[TResult, TError]:
    """Text decoding handler."""

    resp = context.Response
    ret: str = ""
    for resp in option.to_list(context.Response):
        ret = await resp.text()

    return await next(context.replace(Response=ret))
예제 #3
0
async def json(
    next: Callable[[Context[Any]], Awaitable[Try[Context[TResult]]]],
    context: HttpContext,
) -> HttpFuncResult[TResult]:
    """JSON decoding handler."""

    resp = context.Response
    ret: Dict[str, Any] = {}
    for resp in option.to_list(context.Response):
        ret = await resp.json()

    return await next(context.replace(Response=ret))
예제 #4
0
def test_option_nothing_iterate():
    xs = Nothing

    for _ in option.to_list(xs):
        assert False