MCPcopy
hub / github.com/Sophomoresty/gemini-web2api / do_POST

Method do_POST

gemini_web2api.py:478–502  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

476 log(f"GET error: {e}")
477
478 def do_POST(self):
479 try:
480 if self.path.startswith("/v1/") and not self._authorized():
481 self.send_json({"error": {"message": "invalid api key"}}, 401)
482 return
483 length = int(self.headers.get("Content-Length", 0))
484 body = self.rfile.read(length) if length else b""
485 if self.path == "/v1/chat/completions":
486 self.handle_chat(body)
487 elif self.path == "/v1/responses":
488 self.handle_responses(body)
489 elif ":generateContent" in self.path:
490 self._handle_google_generate(body, stream=False)
491 elif ":streamGenerateContent" in self.path:
492 self._handle_google_generate(body, stream=True)
493 else:
494 self.send_json({"error": "not found"}, 404)
495 except (BrokenPipeError, ConnectionResetError):
496 pass
497 except Exception as e:
498 log(f"POST error: {e}")
499 try:
500 self.send_json({"error": {"message": str(e)}}, 500)
501 except:
502 pass
503
504 def _resolve_model(self, model_name):
505 think_override = None

Callers

nothing calls this directly

Calls 6

_authorizedMethod · 0.95
send_jsonMethod · 0.95
handle_chatMethod · 0.95
handle_responsesMethod · 0.95
logFunction · 0.70

Tested by

no test coverage detected