Skip to content

Commit b8f8bd2

Browse files
committed
fix header parsing
1 parent 942a618 commit b8f8bd2

File tree

3 files changed

+16
-14
lines changed

3 files changed

+16
-14
lines changed

functions-python/tasks_executor/src/main.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,11 @@ def get_task(request: flask.Request):
129129
task = request_json.get("task")
130130
if task not in tasks:
131131
raise ValueError("Task not supported: %s", task)
132-
content_type = request.headers.get("Content-Type", "application/json")
132+
accept_content_type = request.headers.get("Accept", "application/json")
133133
payload = request_json.get("payload")
134134
if not payload:
135135
payload = {}
136-
return task, payload, content_type
136+
return task, payload, accept_content_type
137137

138138

139139
def _to_csv(data) -> str:
@@ -170,14 +170,14 @@ def tasks_executor(request: flask.Request) -> flask.Response:
170170
task: Any
171171
payload: Any
172172
try:
173-
task, payload, content_type = get_task(request)
173+
task, payload, accept_content_type = get_task(request)
174174
except ValueError as error:
175175
return flask.make_response(flask.jsonify({"error": str(error)}), 400)
176176
# Execute task
177177
handler = tasks[task]["handler"]
178178
try:
179179
result = handler(payload=payload)
180-
if isinstance(payload, dict) and content_type == "text/csv":
180+
if isinstance(payload, dict) and accept_content_type == "text/csv":
181181
csv_body = _to_csv(result)
182182
response = flask.make_response(csv_body, 200)
183183
response.headers["Content-Type"] = "text/csv; charset=utf-8"

functions-python/tasks_executor/src/tasks/licenses/license_matcher.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def assign_feed_license(feed: Feed, license_match: MatchingLicense):
5757

5858

5959
def process_feed(feed, dry_run, db_session):
60-
"""`Process a single feed to match its license."""
60+
"""Process a single feed to match its license."""
6161
result = None
6262
license_matches = resolve_license(feed.license_url, db_session=db_session)
6363
if license_matches:

functions-python/tasks_executor/tests/test_main.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,30 @@ def create_mock_request(json_data, headers=None):
3232
def test_get_task_valid(self):
3333
request = TestTasksExecutor.create_mock_request(
3434
{"task": "list_tasks", "payload": {"example": "data"}},
35-
{"Content-Type": "application/json"},
35+
{"Accept": "application/json"},
3636
)
37-
task, payload, content_type = get_task(request)
37+
task, payload, accept_content_type = get_task(request)
3838
self.assertEqual(task, "list_tasks")
3939
self.assertEqual(payload, {"example": "data"})
40-
self.assertEqual(content_type, "application/json")
40+
self.assertEqual(accept_content_type, "application/json")
4141

4242
def test_get_task_valid_with_no_payload(self):
4343
request = TestTasksExecutor.create_mock_request({"task": "list_tasks"})
44-
task, payload, content_type = get_task(request)
44+
task, payload, accept_content_type = get_task(request)
4545
self.assertEqual(task, "list_tasks")
4646
self.assertEqual(payload, {}) # Default empty payload
47-
self.assertEqual(content_type, "application/json") # Default content type
47+
self.assertEqual(
48+
accept_content_type, "application/json"
49+
) # Default content type
4850

49-
def test_get_task_valid_with_content_type(self):
51+
def test_get_task_valid_with_accept_content_type(self):
5052
request = TestTasksExecutor.create_mock_request(
51-
{"task": "list_tasks"}, {"Content-Type": "text/csv"}
53+
{"task": "list_tasks"}, {"Accept": "text/csv"}
5254
)
53-
task, payload, content_type = get_task(request)
55+
task, payload, accept_content_type = get_task(request)
5456
self.assertEqual(task, "list_tasks")
5557
self.assertEqual(payload, {}) # Default empty payload
56-
self.assertEqual(content_type, "text/csv")
58+
self.assertEqual(accept_content_type, "text/csv")
5759

5860
def test_get_task_invalid_json(self):
5961
request = TestTasksExecutor.create_mock_request(None)

0 commit comments

Comments
 (0)