mirror of
https://github.com/meta-llama/llama-stack.git
synced 2025-08-15 14:08:00 +00:00
refactor: modify DELETE API endpoints by returning HTTP 204 No Content + empty body instead of 200 OK + response body with null
This commit is contained in:
parent
4a13ef45e9
commit
c986eaa980
2 changed files with 16 additions and 2 deletions
|
@ -380,8 +380,17 @@ class AsyncLlamaStackAsLibraryClient(AsyncLlamaStackClient):
|
||||||
json_content = json.dumps(convert_pydantic_to_json_value(result))
|
json_content = json.dumps(convert_pydantic_to_json_value(result))
|
||||||
|
|
||||||
filtered_body = {k: v for k, v in body.items() if not isinstance(v, LibraryClientUploadFile)}
|
filtered_body = {k: v for k, v in body.items() if not isinstance(v, LibraryClientUploadFile)}
|
||||||
|
|
||||||
|
status_code = httpx.codes.OK
|
||||||
|
|
||||||
|
if options.method.upper() == "DELETE" and result is None:
|
||||||
|
status_code = httpx.codes.NO_CONTENT
|
||||||
|
|
||||||
|
if status_code == httpx.codes.NO_CONTENT:
|
||||||
|
json_content = ""
|
||||||
|
|
||||||
mock_response = httpx.Response(
|
mock_response = httpx.Response(
|
||||||
status_code=httpx.codes.OK,
|
status_code=status_code,
|
||||||
content=json_content.encode("utf-8"),
|
content=json_content.encode("utf-8"),
|
||||||
headers={
|
headers={
|
||||||
"Content-Type": "application/json",
|
"Content-Type": "application/json",
|
||||||
|
|
|
@ -21,10 +21,11 @@ from importlib.metadata import version as parse_version
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from typing import Annotated, Any, get_origin
|
from typing import Annotated, Any, get_origin
|
||||||
|
|
||||||
|
import httpx
|
||||||
import rich.pretty
|
import rich.pretty
|
||||||
import yaml
|
import yaml
|
||||||
from aiohttp import hdrs
|
from aiohttp import hdrs
|
||||||
from fastapi import Body, FastAPI, HTTPException, Request
|
from fastapi import Body, FastAPI, HTTPException, Request, Response
|
||||||
from fastapi import Path as FastapiPath
|
from fastapi import Path as FastapiPath
|
||||||
from fastapi.exceptions import RequestValidationError
|
from fastapi.exceptions import RequestValidationError
|
||||||
from fastapi.responses import JSONResponse, StreamingResponse
|
from fastapi.responses import JSONResponse, StreamingResponse
|
||||||
|
@ -236,6 +237,10 @@ def create_dynamic_typed_route(func: Any, method: str, route: str) -> Callable:
|
||||||
result = await maybe_await(value)
|
result = await maybe_await(value)
|
||||||
if isinstance(result, PaginatedResponse) and result.url is None:
|
if isinstance(result, PaginatedResponse) and result.url is None:
|
||||||
result.url = route
|
result.url = route
|
||||||
|
|
||||||
|
if method.upper() == "DELETE" and result is None:
|
||||||
|
return Response(status_code=httpx.codes.NO_CONTENT)
|
||||||
|
|
||||||
return result
|
return result
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if logger.isEnabledFor(logging.DEBUG):
|
if logger.isEnabledFor(logging.DEBUG):
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue