Handle custom-domain Gradio CORS preflights

#41
by juan-all-hands - opened

Replace the generic CORS wrapper with targeted ASGI handling for /gradio_api requests from https://index.openhands.dev. The wrapper now answers credentialed OPTIONS preflights directly, adds single-valued CORS headers to Gradio responses, and keeps the stringified JSON body normalization.

Browser verification showed Chrome blocking queue and heartbeat requests because preflight responses from the hf.space runtime lacked Access-Control-Allow-Credentials.

Follow-up to OpenHands/openhands-index-results#1227.

Ready to merge
This branch is ready to get merged automatically.

Sign up or log in to comment