Azure / Azure/azure-functions-python-worker
[Bug] Azure functions with Python 3.12 FastAPI 500 Exception for `response.delete_cookie()`
- Dominant language
- Python
- Stars
- 357
- Forks
- 116
- Avg merge
- 32m
- Merged PRs (30d)
- 1
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'.", , 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'.", , 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
1. Use the code sample below and save as `function_app.py`
2. Run `func start`
3. Send a HTTP request, e.g. `curl -v http://localhost:7071`
4. Azure Functions Python worker throws exception in console and returns `HTTP/1.1 500 Internal Server Error`
### Relevant code being tried
```shell
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 response
```
### Relevant log output
```shell
See log output above
```
### requirements.txt file
```shell
azure-functions
fastapi
```
### Where 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_
Contributor guide
Assessment
This issue has not been assessed yet.