MCPcopy Index your code
hub / github.com/algorithmiaio/algorithmia-python / process_algo_req

Function process_algo_req

Test/api/self_signed_app.py:23–50  ·  view source on GitHub ↗
(request: Request, username, algoname, output: Optional[str] = None)

Source from the content-addressed store, hash-verified

21
22@self_signed_app.post("/v1/algo/{username}/{algoname}")
23async def process_algo_req(request: Request, username, algoname, output: Optional[str] = None):
24 metadata = {"request_id": "req-55c0480d-6af3-4a21-990a-5c51d29f5725", "duration": 0.000306774}
25 content_type = request.headers['Content-Type']
26 auth = request.headers.get('Authorization', None)
27 if auth is None:
28 return {"error": {"message": "authorization required"}}
29 request = await request.body()
30 if output and output == "void":
31 return {"async": "abcd123", "request_id": "req-55c0480d-6af3-4a21-990a-5c51d29f5725"}
32 elif output and output == "raw":
33 return Response(request.decode(), status_code=200)
34 elif algoname == "500":
35 return Response("Internal Server Error", status_code=500)
36 elif algoname == "raise_exception":
37 return {"error": {"message": "This is an exception"}}
38 else:
39 if content_type != "application/octet-stream":
40 request = request.decode('utf-8')
41 if content_type == "text/plain":
42 metadata['content_type'] = "text"
43 elif content_type == "application/json":
44 request = json.loads(request)
45 metadata['content_type'] = "json"
46 else:
47 metadata['content_type'] = "binary"
48 request = base64.b64encode(request)
49 output = {"result": request, "metadata": metadata}
50 return output
51
52
53@self_signed_app.post("/v1/algo/{username}/{algoname}/{githash}")

Callers

nothing calls this directly

Calls 1

getMethod · 0.80

Tested by

no test coverage detected