Azure / Azure/azure-webpubsub

WebPubSubForSocketIO 1.0.0 — IsValidationRequest crashes on Flex Consumption (regression from beta.3)

Open
#877 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.