Add projects
This commit is contained in:
parent
2d3a9ad623
commit
8b607dd700
1802 changed files with 503346 additions and 2 deletions
29
backend/sdk/cliproxy/executor/websocket.go
Normal file
29
backend/sdk/cliproxy/executor/websocket.go
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
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)
|
||||
}
|
||||
Loading…
Reference in a new issue