-
Notifications
You must be signed in to change notification settings - Fork 107
Open
Description
Expected Behavior
Cookie should have been deleted in the response to the client using code response.delete_cookie() but instead Azure Function worker throws an exception. This is an Azure Function HTTP request Python 3.12 worker with FastAPI.
Actual Behavior
Azure functions Python worker throws a 500 Exception both when testing locally and in Azure, e.g. running locally throws error below
[2025-10-12T20:23:24.965Z] An exception in WorkerInvocationRequest has occurred: ("A 'datetime' or 'int' type was expected instead of a '%s' type. Cannot parse value %s of '%s'.", <class 'datetime.datetime'>, datetime.datetime(2025, 10, 12, 20, 23, 24), 'cookie.expires')
[2025-10-12T20:23:24.967Z] Executed 'Functions.http_app_func' (Failed, Id=8c29b839-a137-47a1-bb15-84a04f094f11, Duration=10ms)
[2025-10-12T20:23:24.968Z] System.Private.CoreLib: Exception while executing function: Functions.http_app_func. System.Private.CoreLib: Result: Failure
Exception: TypeError: ("A 'datetime' or 'int' type was expected instead of a '%s' type. Cannot parse value %s of '%s'.", <class 'datetime.datetime'>, datetime.datetime(2025, 10, 12, 20, 23, 24), 'cookie.expires')
Stack: File "C:\Program Files\Microsoft\Azure Functions Core Tools\workers\python\3.13\WINDOWS\X64\azure_functions_worker_v2\handle_event.py", line 267, in invocation_request
return_value = to_outgoing_proto(
File "C:\Program Files\Microsoft\Azure Functions Core Tools\workers\python\3.13\WINDOWS\X64\azure_functions_worker_v2\bindings\meta.py", line 223, in to_outgoing_proto
return datum_as_proto(datum, protos) # type: ignore
File "C:\Program Files\Microsoft\Azure Functions Core Tools\workers\python\3.13\WINDOWS\X64\azure_functions_worker_v2\bindings\datumdef.py", line 131, in datum_as_proto
cookies=parse_to_rpc_http_cookie_list(datum.value.get('cookies'), protos),
File "C:\Program Files\Microsoft\Azure Functions Core Tools\workers\python\3.13\WINDOWS\X64\azure_functions_worker_v2\bindings\datumdef.py", line 175, in parse_to_rpc_http_cookie_list
expires=to_nullable_timestamp(
File "C:\Program Files\Microsoft\Azure Functions Core Tools\workers\python\3.13\WINDOWS\X64\azure_functions_worker_v2\bindings\nullable_converters.py", line 110, in to_nullable_timestamp
raise TypeError(
.
Steps to Reproduce
- Use the code sample below and save as
function_app.py - Run
func start - Send a HTTP request, e.g.
curl -v http://localhost:7071 - Azure Functions Python worker throws exception in console and returns
HTTP/1.1 500 Internal Server Error
Relevant code being tried
import azure.functions as func
from fastapi import FastAPI
from fastapi.responses import JSONResponse
app = FastAPI()
func_app = func.AsgiFunctionApp(app=app, http_auth_level=func.AuthLevel.ANONYMOUS)
@app.get("/")
def http_trigger():
response = JSONResponse({'message': 'hello world'}, status_code=200)
response.delete_cookie(key='test')
return responseRelevant log output
See log output aboverequirements.txt file
azure-functions
fastapiWhere are you facing this problem?
Local - Core Tools and deployed in Azure Function HTTP Python 3.12 app
Function app name
No response
Additional Information
I'm reporting this as I would have expected response.delete_cookie(key='test') to work, and I don't see any previous reported issues for this. As a workaround, it appears response.set_cookie(key='test', max_age=0) can be used, but not ideal.
No response