summaryrefslogtreecommitdiff
path: root/tests/fixtureapps/error.py
blob: 5afb1c5425361c50aa9dd7d72e9628da93802380 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
def app(environ, start_response):  # pragma: no cover
    cl = environ.get("CONTENT_LENGTH", None)
    if cl is not None:
        cl = int(cl)
    body = environ["wsgi.input"].read(cl)
    cl = str(len(body))
    if environ["PATH_INFO"] == "/before_start_response":
        raise ValueError("wrong")
    write = start_response(
        "200 OK", [("Content-Length", cl), ("Content-Type", "text/plain")]
    )
    if environ["PATH_INFO"] == "/after_write_cb":
        write("abc")
    if environ["PATH_INFO"] == "/in_generator":

        def foo():
            yield "abc"
            raise ValueError

        return foo()
    raise ValueError("wrong")