fix(critical): add HTTP error checks before parsing response bodies in video handlers

Add response.raise_for_status() before transform_*_response() calls in all eight
video character/edit/extension handler methods (sync and async):

- video_create_character_handler / async_video_create_character_handler
- video_get_character_handler / async_video_get_character_handler
- video_edit_handler / async_video_edit_handler
- video_extension_handler / async_video_extension_handler

Without these checks, httpx does not raise on 4xx/5xx responses, so provider
errors (e.g., 401 Unauthorized) pass directly to Pydantic model constructors,
causing ValidationError instead of meaningful HTTP errors. The raise_for_status()
ensures the exception handler receives proper HTTPStatusError for translation into
actionable messages.

Made-with: Cursor
This commit is contained in:
Sameer Kankute 2026-03-16 19:20:03 +05:30
parent 1ccf67dd93
commit ddf62e0651

View file

@ -6187,6 +6187,7 @@ class BaseLLMHTTPHandler:
files=files_list,
timeout=timeout,
)
response.raise_for_status()
return video_provider_config.transform_video_create_character_response(
raw_response=response,
logging_obj=logging_obj,
@ -6254,6 +6255,7 @@ class BaseLLMHTTPHandler:
files=files_list,
timeout=timeout,
)
response.raise_for_status()
return video_provider_config.transform_video_create_character_response(
raw_response=response,
logging_obj=logging_obj,
@ -6327,6 +6329,7 @@ class BaseLLMHTTPHandler:
headers=headers,
params=params
)
response.raise_for_status()
return video_provider_config.transform_video_get_character_response(
raw_response=response,
logging_obj=logging_obj,
@ -6387,6 +6390,7 @@ class BaseLLMHTTPHandler:
headers=headers,
params=params
)
response.raise_for_status()
return video_provider_config.transform_video_get_character_response(
raw_response=response,
logging_obj=logging_obj,
@ -6472,6 +6476,7 @@ class BaseLLMHTTPHandler:
json=data,
timeout=timeout,
)
response.raise_for_status()
return video_provider_config.transform_video_edit_response(
raw_response=response,
logging_obj=logging_obj,
@ -6543,6 +6548,7 @@ class BaseLLMHTTPHandler:
json=data,
timeout=timeout,
)
response.raise_for_status()
return video_provider_config.transform_video_edit_response(
raw_response=response,
logging_obj=logging_obj,
@ -6632,6 +6638,7 @@ class BaseLLMHTTPHandler:
json=data,
timeout=timeout,
)
response.raise_for_status()
return video_provider_config.transform_video_extension_response(
raw_response=response,
logging_obj=logging_obj,
@ -6705,6 +6712,7 @@ class BaseLLMHTTPHandler:
json=data,
timeout=timeout,
)
response.raise_for_status()
return video_provider_config.transform_video_extension_response(
raw_response=response,
logging_obj=logging_obj,