MCPcopy Create free account
hub / github.com/emscripten-core/emscripten / do_POST

Method do_POST

test/browser_common.py:428–463  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

426 return SimpleHTTPRequestHandler.end_headers(self)
427
428 def do_POST(self): # noqa: DC04
429 urlinfo = urlparse(self.path)
430 query = parse_qs(urlinfo.query)
431 content_length = int(self.headers['Content-Length'])
432 post_data = self.rfile.read(content_length)
433 if urlinfo.path == '/log':
434 # Logging reported by reportStdoutToServer / reportStderrToServer.
435 #
436 # To automatically capture stderr/stdout message from browser tests, modify
437 # `captureStdoutStderr` in `test/browser_reporting.js`.
438 filename = query['file'][0]
439 print(f"[client {filename}: '{post_data.decode()}']")
440 self.send_response(200)
441 self.end_headers()
442 elif urlinfo.path == '/upload':
443 filename = query['file'][0]
444 print(f'do_POST: got file: {filename}')
445 create_file(filename, post_data, binary=True)
446 self.send_response(200)
447 self.end_headers()
448 elif urlinfo.path.startswith('/status/'):
449 code_str = urlinfo.path[len('/status/'):]
450 code = int(code_str)
451 if code in {301, 302, 303, 307, 308}:
452 self.send_response(code)
453 self.send_header('Location', '/status/200')
454 self.end_headers()
455 elif code == 200:
456 self.send_response(200)
457 self.send_header('Content-type', 'text/plain')
458 self.end_headers()
459 self.wfile.write(b'OK')
460 else:
461 self.send_error(400, f'Not implemented for {code}')
462 else:
463 print(f'do_POST: unexpected POST: {urlinfo}')
464
465 def do_GET(self):
466 info = urlparse(self.path)

Callers

nothing calls this directly

Calls 5

end_headersMethod · 0.95
create_fileFunction · 0.90
printFunction · 0.50
readMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected