Warning: Cannot modify header information - headers already sent by (output started at /var/www/jonas-eriksen.dk/pic/private/index.php:1) in /var/www/jonas-eriksen.dk/pic/private/index.php on line 215
!A?h_ z d Z dZg dZddlZddlZddlZddlZddlZ ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZddlZddl mZ dZdZ G d d ej Z G d
dej e Z G d d
ej Z G d de Z d Z!da"d Z#d Z$ G d de Z%d Z&eedddfdZ'e(dk rddl)Z)ddl*Z* e)j+ Z,e,- ddd e,- ddd d!" e,- d#d$ e
j. d%& e,- d'd(d)dd*+ e,- d,de/d-d./ e,0 Z1e1j2 re%Z3ne Z3 G d0 d1e Z4 e'e3e4e1j5 e1j6 e1j7 2 dS dS )3a@ HTTP server classes.
Note: BaseHTTPRequestHandler doesn't implement any HTTP request; see
SimpleHTTPRequestHandler for simple implementations of GET, HEAD and POST,
and CGIHTTPRequestHandler for CGI scripts.
It does, however, optionally implement HTTP/1.1 persistent connections,
as of version 0.3.
Notes on CGIHTTPRequestHandler
------------------------------
This class implements GET and POST requests to cgi-bin scripts.
If the os.fork() function is not present (e.g. on Windows),
subprocess.Popen() is used as a fallback, with slightly altered semantics.
In all cases, the implementation is intentionally naive -- all
requests are executed synchronously.
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).
XXX To do:
- log requests even later (to capture byte count)
- log user-agent header and other interesting goodies
- send error log to separate file
z0.6)
HTTPServerThreadingHTTPServerBaseHTTPRequestHandlerSimpleHTTPRequestHandlerCGIHTTPRequestHandler N)
HTTPStatusaD
Error response
Error response
Error code: %(code)d
Message: %(message)s.
Error code explanation: %(code)s - %(explain)s.
ztext/html;charset=utf-8c e Zd ZdZd ZdS )r c t j | | j dd \ }}t j | | _ || _ dS )z.Override server_bind to store the server name.N )socketserver TCPServerserver_bindserver_addresssocketgetfqdnserver_nameserver_port)selfhostports $/usr/lib64/python3.11/http/server.pyr zHTTPServer.server_bind sN **4000(!,
d!>$// N)__name__
__module____qualname__allow_reuse_addressr r r r r s) r r c e Zd ZdZdS )r TN)r r r daemon_threadsr r r r r s NNNr r c
e Zd ZdZdej d z Zdez Z e
ZeZ
dZd Zd Zd Zd Zd#dZd$dZd$d
Zd Zd Zd Zd%dZd Ze d ej ed edd D Z de e!d <