Server IP : 85.214.239.14 / Your IP : 3.15.29.209 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /usr/share/doc/uwsgi-core/tests/ |
Upload File : |
import socket import select import errno import struct def send_request(env, client): client.setblocking(1) data = "hello world\r\n" # send uwsgi-echo header client.send(struct.pack('<BHB', 101, len(data), 0)) # send body client.send(data) while 1: yield env['x-wsgiorg.fdevent.readable'](client.fileno(), 10) buf = client.recv(4096) if len(buf) == 0: break else: yield buf def application(env, start_response): s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) s.setblocking(0) #env['x-wsgiorg.fdevent.readable'] = lambda fd,t: "" #env['x-wsgiorg.fdevent.writable'] = lambda fd,t: "" #yield "" c = s.connect_ex('echo.sock') if c == errno.EINPROGRESS: yield env['x-wsgiorg.fdevent.writable'](s.fileno(), 10) for r in send_request(env, s): yield r elif c == errno.EISCONN or c == 0: start_response('200 Ok', [ ('Content-Type', 'text/plain')]) for r in send_request(env, s): yield r else: print(c) start_response( '500 Internal Server Error', [ ('Content-Type', 'text/plain')]) yield "Internal Server Error" s.close()