Skip to content

Commit bbea241

Browse files
adamtheturtleclaude
andcommitted
Require target and details kwargs in Model Target _error_response
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 96203ac commit bbea241

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

src/mock_vws/_model_target_web_api.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ def _error_response(
5151
status_code: HTTPStatus,
5252
code: str,
5353
message: str,
54-
target: str | None = None,
55-
details: list[dict[str, str]] | None = None,
54+
target: str | None,
55+
details: list[dict[str, str]] | None,
5656
) -> _ResponseType:
5757
"""Return an error response shaped like the Model Target Web API."""
5858
error: dict[str, Any] = {"code": code, "message": message}
@@ -136,6 +136,7 @@ def _require_bearer_token(request: RequestData) -> _ResponseType | None:
136136
code="401",
137137
message="no Bearer token",
138138
target="jwt",
139+
details=None,
139140
)
140141
bearer_token = auth_header.removeprefix("Bearer ").strip()
141142
if not bearer_token:
@@ -144,13 +145,15 @@ def _require_bearer_token(request: RequestData) -> _ResponseType | None:
144145
code="401",
145146
message="no Bearer token",
146147
target="jwt",
148+
details=None,
147149
)
148150
if bearer_token.count(".") != _JWT_DOT_COUNT:
149151
return _error_response(
150152
status_code=HTTPStatus.UNAUTHORIZED,
151153
code="401",
152154
message="Invalid JWT serialization: Missing dot delimiter(s)",
153155
target="jwt",
156+
details=None,
154157
)
155158
return None
156159

@@ -241,6 +244,8 @@ def _load_request_json(request: RequestData) -> dict[str, Any] | _ResponseType:
241244
status_code=HTTPStatus.UNSUPPORTED_MEDIA_TYPE,
242245
code="ERROR",
243246
message="Expecting text/json or application/json body",
247+
target=None,
248+
details=None,
244249
)
245250
try:
246251
request_json: dict[str, Any] = json.loads(s=request.body)
@@ -249,6 +254,8 @@ def _load_request_json(request: RequestData) -> dict[str, Any] | _ResponseType:
249254
status_code=HTTPStatus.BAD_REQUEST,
250255
code="ERROR",
251256
message=f"Invalid Json: {exc}",
257+
target=None,
258+
details=None,
252259
)
253260
return request_json
254261

@@ -372,6 +379,7 @@ def get_model_target_dataset_status(
372379
f"{dataset_uuid}"
373380
),
374381
target=_MOCK_USER_TARGET,
382+
details=None,
375383
)
376384
return _json_response(
377385
status_code=HTTPStatus.OK,
@@ -420,6 +428,7 @@ def download_model_target_dataset(
420428
f"{dataset_uuid}"
421429
),
422430
target=_MOCK_USER_TARGET,
431+
details=None,
423432
)
424433
if dataset.status != "done":
425434
return _error_response(
@@ -430,6 +439,7 @@ def download_model_target_dataset(
430439
"not-started != done"
431440
),
432441
target=dataset_uuid,
442+
details=None,
433443
)
434444

435445
body = _dataset_zip_bytes(dataset=dataset)
@@ -465,5 +475,6 @@ def delete_model_target_dataset(
465475
f"{dataset_uuid}"
466476
),
467477
target=_MOCK_USER_TARGET,
478+
details=None,
468479
)
469480
return HTTPStatus.OK, {"Content-Length": "0"}, ""

0 commit comments

Comments
 (0)