summaryrefslogblamecommitdiffhomepage
path: root/test/python/upload/wsgi.py
blob: 37ee89eba5cd23984534d2be37ec5c904eda33e5 (plain) (tree)


























                                                                             
from tempfile import TemporaryFile
import os, cgi

def read(environ):
    length = int(environ.get('CONTENT_LENGTH', 0))

    body = TemporaryFile(mode='w+b')
    body.write(bytes(environ['wsgi.input'].read(length)))
    body.seek(0)

    environ['wsgi.input'] = body
    return body

def application(environ, start_response):
    file = read(environ)

    form = cgi.FieldStorage(fp=file, environ=environ, keep_blank_values=True)

    filename = form['file'].filename
    data = filename.encode() + form['file'].file.read()

    start_response('200 OK', [
        ('Content-Type', 'text/plain'),
        ('Content-Length', str(len(data))),
    ])

    return data