File: preflight.py

package info (click to toggle)
firefox 143.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,617,328 kB
  • sloc: cpp: 7,478,492; javascript: 6,417,157; ansic: 3,720,058; python: 1,396,372; xml: 627,523; asm: 438,677; java: 186,156; sh: 63,477; makefile: 19,171; objc: 13,059; perl: 12,983; yacc: 4,583; cs: 3,846; pascal: 3,405; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 53; csh: 10
file content (35 lines) | stat: -rw-r--r-- 1,263 bytes parent folder | download | duplicates (22)
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
30
31
32
33
34
35
def main(request, response):
    headers = [(b"Content-Type", b"text/plain")]

    if b"check" in request.GET:
        token = request.GET.first(b"token")
        value = request.server.stash.take(token)
        if value == None:
            body = u"0"
        else:
            if request.GET.first(b"check", None) == b"keep":
                request.server.stash.put(token, value)
            body = u"1"

        return headers, body

    if request.method == u"OPTIONS":
        if not b"Access-Control-Request-Method" in request.headers:
            response.set_error(400, u"No Access-Control-Request-Method header")
            return u"ERROR: No access-control-request-method in preflight!"

        headers.append((b"Access-Control-Allow-Methods",
                        request.headers[b'Access-Control-Request-Method']))

        if b"max_age" in request.GET:
            headers.append((b"Access-Control-Max-Age", request.GET[b'max_age']))

        if b"token" in request.GET:
            request.server.stash.put(request.GET.first(b"token"), 1)

    headers.append((b"Access-Control-Allow-Origin", b"*"))
    headers.append((b"Access-Control-Allow-Headers", b"x-print"))

    body = request.headers.get(b"x-print", b"NO")

    return headers, body