package executor import ( "errors" "net/http" ) // UpstreamWebsocketReplayRequiredError indicates that an incremental request // cannot safely continue because its upstream websocket is no longer reusable. type UpstreamWebsocketReplayRequiredError struct{} func (*UpstreamWebsocketReplayRequiredError) Error() string { return `{"error":{"message":"upstream transport requires full HTTP replay","type":"server_error","code":"upstream_http_replay_required","status":426}}` } func (*UpstreamWebsocketReplayRequiredError) StatusCode() int { return http.StatusUpgradeRequired } func (*UpstreamWebsocketReplayRequiredError) IsRequestScoped() bool { return true } // NewUpstreamWebsocketReplayRequiredError creates a request-scoped replay signal. func NewUpstreamWebsocketReplayRequiredError() error { return &UpstreamWebsocketReplayRequiredError{} } // IsUpstreamWebsocketReplayRequired reports whether err is the internal replay signal. func IsUpstreamWebsocketReplayRequired(err error) bool { var replayErr *UpstreamWebsocketReplayRequiredError return errors.As(err, &replayErr) }