Wsgiserver 0.2 ~repack~ May 2026

server.shutdown() def test_post_request(): """Test POST request handling""" def app(environ, start_response): content_length = int(environ.get('CONTENT_LENGTH', 0)) body = environ['wsgi.input'].read(content_length) start_response('200 OK', [('Content-Type', 'text/plain')]) return [body]

# Give server time to start import time time.sleep(0.5) wsgiserver 0.2

COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt server

services: web: build: . ports: - "8000:8000" environment: - WSGI_HOST=0.0.0.0 - WSGI_PORT=8000 restart: unless-stopped 8.1 Logging Configuration import logging logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', handlers=[ logging.FileHandler('wsgiserver.log'), logging.StreamHandler() ] ) app): self.app = app def __call__(self

def get_metrics(self): return 'total_requests': self.request_count, 'error_requests': self.error_count, 'error_rate': self.error_count / self.request_count if self.request_count else 0 class SecurityMiddleware: """Add security headers and protections""" def __init__(self, app): self.app = app def __call__(self, environ, start_response): def secure_start_response(status, headers, exc_info=None): # Add security headers headers.extend([ ('X-Content-Type-Options', 'nosniff'), ('X-Frame-Options', 'DENY'), ('X-XSS-Protection', '1; mode=block'), ]) return start_response(status, headers, exc_info) return self.app(environ, secure_start_response) Request size limiting MAX_REQUEST_SIZE = 10 * 1024 * 1024 # 10MB

logger = logging.getLogger('wsgiserver') class MetricsMiddleware: """Collect request metrics""" def __init__(self, app): self.app = app self.request_count = 0 self.error_count = 0 def __call__(self, environ, start_response): self.request_count += 1 def custom_start_response(status, headers, exc_info=None): if status.startswith('5'): self.error_count += 1 return start_response(status, headers, exc_info) return self.app(environ, custom_start_response)





    * required fields