summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/common/slow-redirect.py
blob: 85c80e08446c93694fc73fada200fb563691ac97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import time

def main(request, response):
    """Simple handler that causes redirection.

    The request should typically have two query parameters:
    status - The status to use for the redirection. Defaults to 302.
    location - The resource to redirect to.
    """
    status = 302
    delay = 2
    if b"status" in request.GET:
        try:
            status = int(request.GET.first(b"status"))
        except ValueError:
            pass

    if b"delay" in request.GET:
        try:
            delay = int(request.GET.first(b"delay"))
        except ValueError:
            pass

    response.status = status
    time.sleep(delay)

    location = request.GET.first(b"location")

    response.headers.set(b"Location", location)