@@ -112,7 +112,7 @@ def get_path_tail(env):
112112
113113def check_accept_encoding (env , substr ):
114114 aenc = env .get ('HTTP_ACCEPT_ENCODING' , '' )
115- if aenc and substr == "* " :
115+ if aenc and substr == "" :
116116 return True
117117 if aenc and substr in aenc :
118118 return True
@@ -144,31 +144,10 @@ def baseline11(env):
144144 req_method = env .get ('REQUEST_METHOD' , '' )
145145 query_params = parse_qs (env .get ('QUERY_STRING' , '' ))
146146 total = 0
147- for v in query_params .values ():
148- try :
149- total += int (v [0 ])
150- except ValueError :
151- pass
147+ for val in query_params .values ():
148+ total += int (val [0 ])
152149 if req_method == "POST" :
153- wsgi_input = env ['wsgi.input' ]
154- body = wsgi_input .read (16000 )
155- if body :
156- try :
157- total += int (body .decode ().strip ())
158- except UnicodeDecodeError :
159- pass
160- except ValueError :
161- pass
162- return text_resp (str (total ))
163-
164- def baseline2 (env ):
165- query_params = parse_qs (env .get ('QUERY_STRING' , '' ))
166- total = 0
167- for v in query_params .values ():
168- try :
169- total += int (v [0 ])
170- except ValueError :
171- pass
150+ total += int (env ['wsgi.input' ].read (100 ))
172151 return text_resp (str (total ))
173152
174153def json_endpoint (env ):
@@ -238,28 +217,14 @@ def static_file_endpoint(env):
238217 return make_resp (200 , [ ('Content-Type' , entry ['type' ]) ], entry ['data' ], contenc = entry ['enc' ])
239218
240219
241- READ_BUF_SIZE = 256 * 1024
242-
243220def upload_endpoint (env ):
244- wsgi_input = env ["wsgi.input" ]
245- content_length = int (env .get ("CONTENT_LENGTH" , - 1 ))
246- size = 0
247- if content_length != 0 :
248- while True :
249- to_read = min (READ_BUF_SIZE , content_length - size ) if content_length > 0 else READ_BUF_SIZE
250- chunk = wsgi_input .read (to_read )
251- if not chunk :
252- break
253- size += len (chunk )
254- if content_length > 0 and size >= content_length :
255- break
221+ size = env ["wsgi.input" ].getbuffer ().nbytes
256222 return text_resp (str (size ))
257223
258224
259225ROUTES = {
260226 '/pipeline' : pipeline ,
261227 '/baseline11' : baseline11 ,
262- '/baseline2' : baseline2 ,
263228 '/json/' : json_endpoint ,
264229 '/json-comp/' : json_endpoint ,
265230 '/upload' : upload_endpoint ,
@@ -301,9 +266,14 @@ def app(env, start_response):
301266if __name__ == "__main__" :
302267 import fastpysgi
303268
304- host = '0.0.0.0'
305- port = 8080
269+ certfile = os .environ .get ("TLS_CERT" , "/certs/server.crt" )
270+ keyfile = os .environ .get ("TLS_KEY" , "/certs/server.key" )
271+
272+ fastpysgi .server .delete_all_binds ()
273+ fastpysgi .server .add_bind ('0.0.0.0' , 8080 )
274+ fastpysgi .server .add_bind ('0.0.0.0' , 8081 , (certfile , keyfile , None ))
306275
307- fastpysgi .server .read_buffer_size = READ_BUF_SIZE
276+ fastpysgi .server .read_buffer_size = 256 * 1024
277+ fastpysgi .server .max_content_length = 31_000_000
308278 fastpysgi .server .backlog = 16 * 1024
309- fastpysgi .run (app , host , port , workers = WRK_COUNT , loglevel = 0 )
279+ fastpysgi .run (app , workers = WRK_COUNT , loglevel = 0 )
0 commit comments