Skip to content

[Bug] Azure functions with Python 3.12 FastAPI 500 Exception for response.delete_cookie() #1790

@mabeshark

Description

@mabeshark

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

  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

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

See log output above

requirements.txt file

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions