Current Path : /compat/linux/proc/68247/root/usr/local/lib/python2.5/ |
FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64 |
Current File : //compat/linux/proc/68247/root/usr/local/lib/python2.5/CGIHTTPServer.pyc |
³ò h”Rc @ s¼ d Z d Z d g Z d d k Z d d k Z d d k Z d d k Z d d k Z d d k Z d e i f d „ ƒ YZ e a d „ Z d „ Z e e i d „ Z e d j o e ƒ n d S( sú CGI-savvy HTTP Server. This module builds on SimpleHTTPServer by implementing GET and POST requests to cgi-bin scripts. If the os.fork() function is not present (e.g. on Windows), os.popen2() is used as a fallback, with slightly altered semantics; if that function is not present either (e.g. on Macintosh), only Python scripts are supported, and they are executed by the current process. In all cases, the implementation is intentionally naive -- all requests are executed sychronously. SECURITY WARNING: DON'T USE THIS CODE UNLESS YOU ARE INSIDE A FIREWALL -- it may execute arbitrary Python code or external programs. Note that status code 200 is sent prior to execution of a CGI script, so scripts cannot send other status codes such as 302 (redirect). s 0.4t CGIHTTPRequestHandleriÿÿÿÿNc B sƒ e Z d Z e e d ƒ Z e e d ƒ Z e e d ƒ Z d Z d „ Z d „ Z d „ Z d d g Z d „ Z d „ Z d „ Z RS( s Complete HTTP server with GET, HEAD and POST commands. GET and HEAD also support running CGI scripts. The POST command is *only* implemented for CGI scripts. t forkt popen2t popen3i c C s/ | i ƒ o | i ƒ n | i d d ƒ d S( sR Serve a POST request. This is only implemented for CGI scripts. iõ s Can only POST to CGI scriptsN( t is_cgit run_cgit send_error( t self( ( s) /usr/local/lib/python2.5/CGIHTTPServer.pyt do_POST5 s c C s/ | i ƒ o | i ƒ Sn t i i | ƒ Sd S( s- Version of send_head that support CGI scriptsN( R R t SimpleHTTPServert SimpleHTTPRequestHandlert send_head( R ( ( s) /usr/local/lib/python2.5/CGIHTTPServer.pyR A s c C s~ | i } xn | i D]c } t | ƒ } | | | j o@ | | p | | d j o# | | | | d f | _ t Sq q Wt S( s± Test whether self.path corresponds to a CGI script. Return a tuple (dir, rest) if self.path requires running a CGI script, None if not. Note that rest begins with a slash if it is not empty. The default implementation tests whether the path begins with one of the strings in the list self.cgi_directories (and the next character is a '/' or the end of the string). t /i ( t patht cgi_directoriest lent cgi_infot Truet False( R R t xt i( ( s) /usr/local/lib/python2.5/CGIHTTPServer.pyR H s .s /cgi-bins /htbinc C s t | ƒ S( s1 Test whether argument path is an executable file.( t executable( R R ( ( s) /usr/local/lib/python2.5/CGIHTTPServer.pyt is_executablea s c C s( t i i | ƒ \ } } | i ƒ d j S( s. Test whether argument path is a Python script.s .pys .pyw( s .pys .pyw( t osR t splitextt lower( R R t headt tail( ( s) /usr/local/lib/python2.5/CGIHTTPServer.pyt is_pythone s c . C s~ | i } | i \ } } | i d t | ƒ d ƒ } xz | d j ol | | } | | d } | i | ƒ } t i i | ƒ o- | | } } | i d t | ƒ d ƒ } q7 Pq7 W| i d ƒ } | d j o | | | | d } } n d } | i d ƒ } | d j o | | | | } } n | d } } | d | } | i | ƒ } t i i | ƒ p | i d d | ƒ d Sn t i i | ƒ p | i d d | ƒ d Sn | i | ƒ } | pj | i p | i p | i p | i d d | ƒ d Sn | i | ƒ p | i d d | ƒ d Sq-n h } | i ƒ | d <| i i | d <d | d <| i | d <t | i i ƒ | d <| i | d <t i | ƒ } | | d <| i | ƒ | d <| | d <| o | | d <n | i ƒ } | | i d j o | | d <n | i d | d <| i i d ƒ } | oÌ | i ƒ } t | ƒ d j o© d d k } d d k } | d | d <| d i ƒ d j oh y | i! | d ƒ } Wn | i"