From fcc021cdde679e25f7653d26e192c31bd1d3b61f Mon Sep 17 00:00:00 2001 From: Yusuf Ali Date: Sat, 3 May 2025 10:09:44 -0400 Subject: [PATCH] fix(http): accept multi contenttype --- servc/svc/com/http/__init__.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/servc/svc/com/http/__init__.py b/servc/svc/com/http/__init__.py index a5883f2..a8a21a3 100644 --- a/servc/svc/com/http/__init__.py +++ b/servc/svc/com/http/__init__.py @@ -1,9 +1,9 @@ +import json import os from multiprocessing import Process from typing import Dict, List, Tuple, TypedDict from flask import Flask, jsonify, request # type: ignore - from servc.svc import ComponentType, Middleware from servc.svc.client.send import sendMessage from servc.svc.com.bus import BusComponent @@ -119,11 +119,14 @@ def _getResponse(self, id: str): def _postMessage(self, extra_params: Dict | None = None): if not extra_params: extra_params = {} - content_type = request.headers.get("Content-Type", None) + content_type = request.headers.get("Content-Type", "") if request.method == "GET": return self._getInformation() - if content_type == "application/json": - body = request.json + if content_type == "application/json" or "multipart/form-data" in content_type: + if "multipart/form-data" in content_type: + body = json.loads(request.form["json"]) + else: + body = request.json if not body: return "bad request", StatusCode.INVALID_INPUTS.value