File: w32.py

package info (click to toggle)
elinks 0.19.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 24,424 kB
  • sloc: ansic: 174,653; cpp: 31,967; sh: 7,841; python: 4,039; perl: 2,183; javascript: 1,794; pascal: 1,710; makefile: 1,006; yacc: 295; lisp: 125; awk: 79; ruby: 70
file content (32 lines) | stat: -rwxr-xr-x 870 bytes parent folder | download | duplicates (3)
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
#!/usr/bin/env python3
import gzip, string, six, os, time, http.server

data = [str(i) for i in range(34000)]
text = "\n".join(data)
s = six.BytesIO()
gz = gzip.GzipFile("1.gz", "wb", 9, s)
gz.write(bytes(text, 'iso8859-1'))
gz.close()
comp = s.getvalue()
s.close()
pocz = comp[:65536]
reszta = comp[65536:]

class obsluga(http.server.BaseHTTPRequestHandler):
    def do_GET(self):
        self.send_response(200)
        self.send_header("Content-Type", "text/plain")
        self.send_header("Content-Encoding", "gzip")
        self.send_header("Connection", "close")
        self.end_headers()
        self.wfile.write(pocz)
        time.sleep(5)
        self.wfile.write(reszta)

def run(port=8900):
    server_address = ('127.0.0.1', port)
    httpd = http.server.HTTPServer(server_address, obsluga)
    httpd.handle_request()

if __name__ == "__main__":
    run()