3085e59f66
* fix(http): reject unsupported subscription streams Use the Mcp-Method header to reject subscriptions/listen with the spec-defined 404 Method Not Found response instead of opening an idle SSE stream. Preserve SDK validation for missing or mismatched headers. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 06d5dda1-4086-4996-8d18-152e45e611b0 * refactor(http): clarify subscription rejection Document why header validation precedes the unsupported-method rejection and use named SDK error constants in tests. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 06d5dda1-4086-4996-8d18-152e45e611b0 --------- Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 06d5dda1-4086-4996-8d18-152e45e611b0
59 lines
2.5 KiB
Go
59 lines
2.5 KiB
Go
package headers
|
|
|
|
const (
|
|
// AuthorizationHeader is a standard HTTP Header.
|
|
AuthorizationHeader = "Authorization"
|
|
// ContentTypeHeader is a standard HTTP Header.
|
|
ContentTypeHeader = "Content-Type"
|
|
// AcceptHeader is a standard HTTP Header.
|
|
AcceptHeader = "Accept"
|
|
// UserAgentHeader is a standard HTTP Header.
|
|
UserAgentHeader = "User-Agent"
|
|
|
|
// ContentTypeJSON is the standard MIME type for JSON.
|
|
ContentTypeJSON = "application/json"
|
|
// ContentTypeEventStream is the standard MIME type for Event Streams.
|
|
ContentTypeEventStream = "text/event-stream"
|
|
|
|
// ForwardedForHeader is a standard HTTP Header used to forward the originating IP address of a client.
|
|
ForwardedForHeader = "X-Forwarded-For"
|
|
|
|
// RealIPHeader is a standard HTTP Header used to indicate the real IP address of the client.
|
|
RealIPHeader = "X-Real-IP"
|
|
|
|
// ForwardedHostHeader is a standard HTTP Header for preserving the original Host header when proxying.
|
|
ForwardedHostHeader = "X-Forwarded-Host"
|
|
// ForwardedProtoHeader is a standard HTTP Header for preserving the original protocol when proxying.
|
|
ForwardedProtoHeader = "X-Forwarded-Proto"
|
|
|
|
// RequestHmacHeader is used to authenticate requests to the Raw API.
|
|
RequestHmacHeader = "Request-Hmac"
|
|
|
|
// MCP-specific headers.
|
|
|
|
// MCPMethodHeader mirrors the JSON-RPC method for request routing.
|
|
MCPMethodHeader = "Mcp-Method"
|
|
// MCPReadOnlyHeader indicates whether the MCP is in read-only mode.
|
|
MCPReadOnlyHeader = "X-MCP-Readonly"
|
|
// MCPToolsetsHeader is a comma-separated list of MCP toolsets that the request is for.
|
|
MCPToolsetsHeader = "X-MCP-Toolsets"
|
|
// MCPToolsHeader is a comma-separated list of MCP tools that the request is for.
|
|
MCPToolsHeader = "X-MCP-Tools"
|
|
// MCPLockdownHeader indicates whether lockdown mode is enabled.
|
|
MCPLockdownHeader = "X-MCP-Lockdown"
|
|
// MCPInsidersHeader indicates whether insiders mode is enabled for early access features.
|
|
MCPInsidersHeader = "X-MCP-Insiders"
|
|
// MCPExcludeToolsHeader is a comma-separated list of MCP tools that should be
|
|
// disabled regardless of other settings or header values.
|
|
MCPExcludeToolsHeader = "X-MCP-Exclude-Tools"
|
|
// MCPFeaturesHeader is a comma-separated list of feature flags to enable.
|
|
MCPFeaturesHeader = "X-MCP-Features"
|
|
|
|
// GitHub-specific headers.
|
|
|
|
// GraphQLFeaturesHeader is a comma-separated list of GraphQL feature flags to enable for GraphQL requests.
|
|
GraphQLFeaturesHeader = "GraphQL-Features"
|
|
// GitHubAPIVersionHeader is the header used to specify the GitHub API version.
|
|
GitHubAPIVersionHeader = "X-GitHub-Api-Version"
|
|
)
|