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

Function process_algo_req

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

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls 1

getMethod · 0.80

Tested by

no test coverage detected