{\rtf1\ansi\deff0{\fonttbl{\f0\fmodern\fprq1\fcharset0;}}{\colortbl;\red128\green128\blue128;\red64\green112\blue160;\red64\green160\blue112;\red96\green160\blue176;\red0\green32\blue112;\red187\green96\blue213;\red0\green112\blue32;\red35\green83\blue136;\red255\green240\blue240;\red198\green93\blue9;\red96\green173\blue213;\red81\green121\blue24;\red213\green85\blue55;\red0\green160\blue0;\red0\green64\blue208;\red85\green85\blue85;\red160\green0\blue0;\red255\green0\blue0;\red144\green32\blue0;\red6\green40\blue126;\red187\green187\blue187;\red14\green132\blue181;\red128\green0\blue128;\red6\green40\blue115;\red0\green0\blue128;\red102\green102\blue102;\red112\green160\blue208;}\f0{\cf4\i #!/usr/bin/env python2.6 -tt}\par {\cf4\i # -*- coding: utf-8 -*-}\par \par {\cf7\b from} {\cf22\b pprint} {\cf7\b import} pprint\par {\cf7\b import} {\cf22\b BaseHTTPServer}\par {\cf7\b import} {\cf22\b CGIHTTPServer}\par {\cf7\b import} {\cf22\b random}\par {\cf7\b import} {\cf22\b sys}\par {\cf7\b import} {\cf22\b time}\par \par {\cf7\b class} {\cf22\b myCGIHTTPRequestHandler} (CGIHTTPServer{\cf26 .}CGIHTTPRequestHandler):\par {\cf7\b def} {\cf20 _action} ({\cf7 self}):\par r {\cf26 =} random{\cf26 .}randint ({\cf3 0}, {\cf3 10000000})\par {\cf7\b if} r {\cf26 %} {\cf3 4} {\cf26 ==} {\cf3 0}:\par {\cf7 self}{\cf26 .}send_error ({\cf3 503})\par {\cf7\b elif} r {\cf26 %} {\cf3 4} {\cf26 ==} {\cf3 1}:\par {\cf7 self}{\cf26 .}send_error ({\cf3 500})\par {\cf7\b elif} r {\cf26 %} {\cf3 4} {\cf26 ==} {\cf3 2}:\par time{\cf26 .}sleep ({\cf3 90})\par {\cf7\b elif} r {\cf26 %} {\cf3 4} {\cf26 ==} {\cf3 3}:\par {\cf7 self}{\cf26 .}send_response ({\cf3 303}, {\cf2 '}{\cf2 '})\par {\cf7 self}{\cf26 .}send_header ({\cf2 '}{\cf2 Location}{\cf2 '}, {\cf2 '}{\cf2 http://help.gadu-gadu.pl/errors/blip/}{\cf2 '})\par {\cf7 self}{\cf26 .}end_headers ()\par \par {\cf7\b def} {\cf20 do_GET} ({\cf7 self}):\par {\cf7 self}{\cf26 .}_action ()\par {\cf7\b def} {\cf20 do_POST} ():\par {\cf7 self}{\cf26 .}_action ()\par {\cf7\b def} {\cf20 do_DELETE} ():\par {\cf7 self}{\cf26 .}_action ()\par {\cf7\b def} {\cf20 do_PUT} ():\par {\cf7 self}{\cf26 .}_action ()\par \par {\cf7\b def} {\cf20 run_while_true} (port, server_class {\cf26 =} BaseHTTPServer{\cf26 .}HTTPServer,\par handler_class {\cf26 =} myCGIHTTPRequestHandler):\par server_address {\cf26 =} ({\cf2 '}{\cf2 '}, port)\par httpd {\cf26 =} server_class (server_address, handler_class)\par httpd{\cf26 .}serve_forever()\par \par {\cf7\b if} __name__ {\cf26 ==} {\cf2 '}{\cf2 __main__}{\cf2 '}:\par {\cf7\b if} {\cf7 len} (sys{\cf26 .}argv) {\cf26 >} {\cf3 0}:\par port {\cf26 =} {\cf7 int} (sys{\cf26 .}argv[{\cf3 1}])\par {\cf7\b else}:\par port {\cf26 =} {\cf3 8000}\par {\cf7\b try}:\par run_while_true (port)\par {\cf7\b except} {\cf7 KeyboardInterrupt}:\par {\cf7\b pass}\par }