def do_GET(self): if self.path == '/': self.send_response(301) self.send_header("Location", "/cgi-bin/index.py") self.end_headers() else: CGIHTTPRequestHandler.do_GET(self)
def do_GET(self): """Serve a GET request.""" if not self.allow_path(): self.send_error(403) elif self.is_brat(): self.run_brat_direct() else: CGIHTTPRequestHandler.do_GET(self)
def do_POST(self): debug('__do_POST__\n%s'% self.headers) if self.request_filter(): return if self.path.find('.php') != -1: self.requete = self.rfile.read(int(self.headers['Content-Length'])) self.php_request() else: CGIHTTPRequestHandler.do_POST(self)
def send_error(self, code, message=None): if code == 404 and self.path in ('/', ''): self.send_response(code, message) self.send_header("Content-Type", "text/html") self.send_header('Connection', 'close') self.end_headers() self.wfile.write('<meta http-equiv="refresh" content="0; URL=%s">' % self.gitweb_url) else: CGIHTTPRequestHandler.send_error(self, code, message)
def do_GET(self): """ Present frontpage with user authentication. """ if self.headers.getheader('Authorization') == None: self.do_AUTHHEAD() self.wfile.write('no auth header received') elif self.headers.getheader('Authorization') == self._basic_auth_key: CGIHTTPRequestHandler.do_GET(self) else: self.do_AUTHHEAD() self.wfile.write('Not authenticated')
def run_cgi(self): """Version of run_cgi that provides more HTTP headers.""" headers_str = '' for a in self.headers.items(): headers_str += "%s: %s\n" % a os.environ['HTTP_ALL_HEADERS'] = headers_str # run the rest of run_cgi CGIHTTPRequestHandler.run_cgi(self)
def do_GET(self): debug('__do_GET__\n%s'% self.headers) if self.request_filter(): return if self.path.find('.php') != -1: if self.path.find('?') != -1: self.path, self.requete = self.path.split('?', 1) else: self.requete = '' self.php_request() else: CGIHTTPRequestHandler.do_GET(self)
def do_GET(self): auth = self.headers.getheader('Authorization') if auth is None: self.do_AUTHHEAD() self.wfile.write('no auth') elif auth in self.KEYS: CGIHTTPRequestHandler.do_GET(self) else: self.do_AUTHHEAD() self.wfile.write(auth) self.wfile.write('bad auth')
def do_GET(self, *args, **kwargs): if self.path == "/favicon.ico": protocol, data = favicon.split(",") scheme, info = protocol.split(":") mimetype, rest = info.split(";") self.send_response(200) self.send_header("Content-type", mimetype) httpdate = format_date_time(mktime(datetime.utcnow().timetuple())) self.send_header("Last-Modified", httpdate) self.end_headers() self.wfile.write(data.decode("base64")) return CGIHTTPRequestHandler.do_GET(self, *args, **kwargs)
def do_GET(self, *args, **kwargs): if self.path == '/favicon.ico': protocol, data = favicon.split(',') scheme, info = protocol.split(':') mimetype, rest = info.split(';') self.send_response(200) self.send_header('Content-type', mimetype) httpdate = format_date_time(mktime(datetime.utcnow().timetuple())) self.send_header('Last-Modified', httpdate) self.end_headers() self.wfile.write(data.decode('base64')) return CGIHTTPRequestHandler.do_GET(self, *args, **kwargs)
def is_cgi(self): # Having a CGI suffix is really a big hint of being a CGI script. if self.path.endswith('.cgi'): self.cgi_info = _url_collapse_path_split(self.path) return True else: return CGIHTTPRequestHandler.is_cgi(self)
def is_cgi(self): if urlparse(self.path).path.endswith('.cgi'): self.cgi_info = _url_collapse_path_split(self.path) return True else: return CGIHTTPRequestHandler.is_cgi(self)
def is_cgi(self): # Having a CGI suffix is really a big hint of being a CGI script. if urlparse(self.path).path.endswith('.cgi'): self.cgi_info = _url_collapse_path_split(self.path) return True else: return CGIHTTPRequestHandler.is_cgi(self)
def __init__(self, request, client_address, server): if ElServer.isAcceptable(client_address[0]): CGIHTTPRequestHandler.__init__(self, request, client_address,server) else: f = open('error.html','rb') errorPage = f.read() f.close() wfile = request.makefile('wb',0) rfile = request.makefile('rb',-1) try: raw_requestline = rfile.readline(65537) wfile.write("HTTP/1.0 200 OK\r\n") wfile.write("Connection: close\r\n") wfile.write("Content-Type: text/html; charset=UTF-8\r\n") wfile.write("Content-Length: %d\r\n"%(len(errorPage))) wfile.write("\r\n") wfile.write(errorPage) except socket.timeout,e: pass finally: if not wfile.closed:
def build_cgi_env(self, scriptname, *args, **kwargs): """ Adds SCRIPT_FILENAME to the env created by CGIHTTPRequestHandler CGIHTTPServer doesn't set the 'SCRIPT_FILENAME' environment variable, which causes php-cgi (on Ubuntu, at least) to fail with "No input file specified." Details: http://community.activestate.com/faq/cgi-debugging-no-input-fi """ env = CGIHTTPRequestHandler.build_cgi_env(self, scriptname, *args, **kwargs) env['SCRIPT_FILENAME'] = self.translate_path(scriptname) return env
def log_message(self, format, *args): if self.verbose: CGIHTTPRequestHandler.log_message(self, format, *args)
def translate_path(self, path): if path.startswith(self.repo_vfolder ): r = GIT_HTTP_BACKEND else: r = CGIHTTPRequestHandler.translate_path(self, path) return r
def do_POST(self): self._do_pages() or CGIHTTPRequestHandler.do_GET(self)
def log_request(self, code='-', size='-'): if _VERBOSE_HANDLER: CGIHTTPRequestHandler.log_request(self, code, size) else: # just ignore logging pass
def do_HEAD(self): """Serve a HEAD request.""" if not self.allow_path(): self.send_error(403) else: CGIHTTPRequestHandler.do_HEAD(self)
def do_GET(self): try: # go to default page if self.path.endswith("/"): if Indexes=="on": self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() f = self.list_directory(DocumentRoot+self.path) self.copyfile(f, self.wfile) f.close() return elif indexpage != "": self.send_response(302) self.send_header("Location", indexpage) self.end_headers() return else: self.send_response(404) if self.path=='/favicon.ico': return path_parts = self.path.split('.') try: content_type=contentTypes[path_parts[-1]] except: if page404=="": self.send_response(404) else: self.send_response(302) self.send_header("Location", page404) self.end_headers() if cgi_moudle == "on" and self.path.endswith(cgi_extensions): return CGIHTTPRequestHandler.do_GET(self) else: #static content f = open(DocumentRoot+sep+self.path) fs = os.fstat(f.fileno()) Expirestype = Expires[-1:] Expiresnum=Expires[:-1] expiration = pubutil.get_http_expiry(Expirestype, int(Expiresnum)) CACHE_MAX_AGE = pubutil.secs_from_days(ExpiresTypes[Expirestype], int(Expiresnum)) cache_control = 'public; max_age=%d' % (CACHE_MAX_AGE,) client_cache_cc = self.headers.getheader('Cache-Control') client_cache_p = self.headers.getheader('Pragma') ModifiedSince = self.headers.getheader('If-Modified-Since') if client_cache_cc=='no-cache' or client_cache_p == 'no-cache' or\ (client_cache_p == None and client_cache_cc == None and ModifiedSince == None): client_modified = None else: try: client_modified = ModifiedSince.split(';')[0] except: client_modified = None file_last_modified = self.date_time_string(fs.st_mtime) if client_modified == file_last_modified: self.send_response(304) self.end_headers() else: s = f.read() if gzip == 'on': compressed_content = pubutil.compressBuf(s, compresslevel) else: compressed_content = s self.send_response(202) self.send_header('Last-Modified', file_last_modified) self.send_header('Cache-Control', cache_control) self.send_header('Expires', expiration) self.send_header('Content-type', content_type) if gzip == 'on': self.send_header('Content-Encoding','gzip') self.send_header('Content-Length', str(len(compressed_content))) self.end_headers() self.wfile.write(compressed_content) f.close() return return except IOError, e: logger.error(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+"-"+str(e))
def __init__(self, request, client_address, server): self.manager = server.manager CGIHTTPRequestHandler.__init__(self, request, client_address, server)
def output_script(self, php, scriptfile, query): """Execute a PHP script.""" CGIHTTPRequestHandler.output_script(self, php, 'php-cgi', scriptfile)
def __init__(self, request, client_address, server): """Constructor.""" CGIHTTPRequestHandler.__init__(self, request, client_address, server)
def do_GET(self): try: # go to deault page. if self.path.endswith("/"): if Indexes == "on": self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() f = self.list_directory(DocumentRoot + self.path) self.copyfile(f, self.wfile) f.close() return elif indexpage != "": self.send_response(302) self.send_header("Location", indexpage) self.end_headers() return else: self.send_response(404) if self.path == "/favicon.ico": return path_parts = self.path.split(".") try: content_type = contentTypes[path_parts[-1]] except: if page404 == "": self.send_response(404) else: self.send_response(302) self.send_header("Location", page404) self.end_headers() if cgi_moudle == "on" and self.path.endswith(cgi_extensions): return CGIHTTPRequestHandler.do_GET(self) else: # do static content f = open(DocumentRoot + sep + self.path) # self.path has /test.html # note that this potentially makes every file on your computer readable by the internet fs = os.fstat(f.fileno()) Expirestype = Expires[-1:] Expirenum = Expires[:-1] # set Expires expiration = pubutil.get_http_expiry(Expirestype, int(Expirenum)) # set max-age CACHE_MAX_AGE = pubutil.secs_from_days(ExpiresTypes[Expirestype], int(Expirenum)) cache_control = "public; max-age=%d" % (CACHE_MAX_AGE,) client_cache_cc = self.headers.getheader("Cache-Control") client_cache_p = self.headers.getheader("Pragma") Modified_Since = self.headers.getheader("If-Modified-Since") if ( client_cache_cc == "no-cache" or client_cache_p == "no-cache" or (client_cache_cc == None and client_cache_p == None and Modified_Since == None) ): client_modified = None else: try: client_modified = Modified_Since.split(";")[0] except: client_modified = None file_last_modified = self.date_time_string(fs.st_mtime) if client_modified == file_last_modified: self.send_response(304) self.end_headers() else: if gzip == "on": compressed_content = pubutil.compressBuf(f.read(), compresslevel) else: compressed_content = f.read() self.send_response(200) self.send_header("Last-Modified", file_last_modified) self.send_header("Cache-Control", cache_control) self.send_header("Expires", expiration) self.send_header("Content-type", content_type) if gzip == "on": self.send_header("Content-Encoding", "gzip") self.send_header("Content-Length", str(len(compressed_content))) self.end_headers() self.wfile.write(compressed_content) f.close() return return except IOError, e: logger.error(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())) + "-" + str(e))
def __init__(self, *args, **params): SimpleHandler.__init__(self, *args, **params)
def do_GET(self): print "PATH", self.path SimpleHandler.do_GET(self)
def __init__(self, *args, **kwargs): CGIHTTPRequestHandler.__init__(self, *args, **kwargs)
def __init__(self, req, client_addr, server): CGIHTTPRequestHandler.__init__(self, req, client_addr, server)
def send_head(self): # rewrite URLs: /abs/[bibcode] => script in /cgi-bin if self.path.startswith('/abs/'): self.path = '/cgi-bin/nph-data_query?link_type=ABSTRACT&bibcode=' + self.path[5:] return CGIHTTPRequestHandler.send_head(self)
def end_headers (self): self.send_header('Access-Control-Allow-Origin', '*') CGIHTTPRequestHandler.end_headers(self)
def do_GET(self): try: #go to deault page. if self.path.endswith("/") or self.path =="": if config.Indexes=="on": self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() f= self.list_directory(config.DocumentRoot+self.path) self.copyfile(f, self.wfile) f.close() return elif config.indexpage=="": self.send_response(302) self.send_header("Location", indexpage) self.end_headers() return else: self.send_response(404) self.path="/index.html" if self.path=='/favicon.ico': return path_parts = self.path.split('.') try: content_type=config.contentTypes[path_parts[-1]] except: if config.page404=="": self.send_response(404) else: self.send_response(302) self.send_header("Location",config.page404) self.end_headers() if config.cgi_moudle=="on" and self.path.endswith(config.cgi_extensions): return CGIHTTPRequestHandler.do_GET(self) else: #do static content f = open(config.DocumentRoot + sep + self.path) #self.path has /test.html #note that this potentially makes every file on your computer readable by the internet fs = os.fstat(f.fileno()) Expirestype=config.Expires[-1:] Expirenum=config.Expires[:-1] #set Expires expiration = pubutil.get_http_expiry(Expirestype,int(Expirenum)) #set max-age CACHE_MAX_AGE=pubutil.secs_from_days(config.ExpiresTypes[Expirestype],int(Expirenum)) cache_control = 'public; max-age=%d' % (CACHE_MAX_AGE, ) client_cache_cc = self.headers.getheader('Cache-Control') client_cache_p = self.headers.getheader('Pragma') Modified_Since= self.headers.getheader('If-Modified-Since') if client_cache_cc=='no-cache' or client_cache_p=='no-cache' or \ (client_cache_cc==None and client_cache_p==None and Modified_Since==None): client_modified=None else: try: client_modified = Modified_Since.split(';')[0] except: client_modified=None file_last_modified=self.date_time_string(fs.st_mtime) if client_modified==file_last_modified: self.send_response(304) self.end_headers() else: if config.gzip=="on": compressed_content = pubutil.compressBuf(f.read(),config.compresslevel) else: compressed_content = f.read() self.send_response(200) self.send_header('Last-Modified', file_last_modified) self.send_header('Cache-Control', cache_control) self.send_header('Expires', expiration) self.send_header('Content-type',content_type) if config.gzip=="on": self.send_header('Content-Encoding','gzip') self.send_header ("Content-Length", str(len(compressed_content))) self.end_headers() self.wfile.write(compressed_content) f.close() return return except IOError, e: logger.error(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+"-"+str(e))
def do_GET(self): try: CGIHTTPRequestHandler.do_GET(self) except: pass
def __init__(self, a, b, c): global jukeboxState self.state = jukeboxState CGIHTTPRequestHandler.__init__(self, a, b, c)
def __init__(self, *args, **kwargs): CGIHTTPRequestHandler.__init__(self, *args, **kwargs) self.cgi_directories.append("/cgi-bin")
def do_HEAD(self): if self.is_internal(): self.send_response(501) else: CGIHTTPRequestHandler.do_HEAD(self)
def run_cgi(self): sys.stderr.flush() CGIHTTPRequestHandler.run_cgi(self)
def translate_path(self, path): path = self.project_dir + '/' + path return CGIHTTPRequestHandler.translate_path(self, path)
def is_cgi(self): r = CGIHTTPRequestHandler.is_cgi(self) if r and self.path.startswith(self.repo_vfolder ): head, tail = self.cgi_info self.cgi_info = head, GIT_HTTP_BACKEND_NAME + "/" + tail return r
def do_POST(self): if self.is_internal(): self.__do_internal() else: CGIHTTPRequestHandler.do_POST(self);
def do_POST(self): if self.path == "/": self.path = "/cgi-bin/server.php" CGIHTTPRequestHandler.do_POST(self)
def do_POST(self): self.redirect_path() CGIHTTPRequestHandler.do_POST(self)