WebPubSubForSocketIO 1.0.0 — IsValidationRequest crashes on Flex Consumption (regression from beta.3)
- Dominant language
- TypeScript
- Stars
- 147
- Forks
- 96
- Avg merge
- 19h 28m
- Merged PRs (30d)
- 87
Description
Extension version: Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO 1.0.0 (GA)
Hosting plan: Azure Functions Flex Consumption (Linux, Node.js 22)
Works on: 1.0.0-beta.3, Linux Consumption plan
**Problem**
All socketiotrigger functions fail to execute on the Flex Consumption plan. The extension throws an unhandled System.InvalidOperationException on every inbound webhook from Web PubSub:
System.InvalidOperationException: The given header was not found. at System.Net.Http.Headers.HttpHeaders.GetValues(String name) at Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO.Utilities.IsValidationRequest(...) at Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO.WebPubSubForSocketIOTriggerDispatcher.ExecuteAsync(...)
**Root cause**
Utilities.IsValidationRequest calls HttpHeaders.GetValues("WebHook-Request-Origin"), which throws when the header is absent. On Flex Consumption, this header is not present on event delivery requests (only on validation requests). The beta.3 build uses TryGetValues, which handles the missing header gracefully.
**Impact**
No socketiotrigger function can execute on Flex Consumption — connected, disconnected, and all user events are silently dropped. HTTP-triggered functions are unaffected.
**Workaround**
Downgrade to 1.0.0-beta.3 in extensions.csproj.
**Suggested fi**x
In Utilities.IsValidationRequest, replace GetValues with TryGetValues (matching the beta.3 implementation).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in Utilities.IsValidationRequest and compare its header lookup with the beta.3 implementation. Check how WebPubSubForSocketIOTriggerDispatcher handles event delivery when WebHook-Request-Origin is absent. Done means validation requests still work while Flex Consumption event deliveries no longer throw, with existing tests or a focused regression test passing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp
- Domain
- backend, cloud
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 58/100