dnscrypt-proxy/vendor/github.com/quic-go/quic-go/http3/error_codes.go

82 lines
2.2 KiB
Go
Raw Normal View History

2022-07-21 18:50:10 +02:00
package http3
import (
"fmt"
"github.com/quic-go/quic-go"
2022-07-21 18:50:10 +02:00
)
2023-05-01 16:05:02 +02:00
type ErrCode quic.ApplicationErrorCode
2022-07-21 18:50:10 +02:00
const (
2023-05-01 16:05:02 +02:00
ErrCodeNoError ErrCode = 0x100
ErrCodeGeneralProtocolError ErrCode = 0x101
ErrCodeInternalError ErrCode = 0x102
ErrCodeStreamCreationError ErrCode = 0x103
ErrCodeClosedCriticalStream ErrCode = 0x104
ErrCodeFrameUnexpected ErrCode = 0x105
ErrCodeFrameError ErrCode = 0x106
ErrCodeExcessiveLoad ErrCode = 0x107
ErrCodeIDError ErrCode = 0x108
ErrCodeSettingsError ErrCode = 0x109
ErrCodeMissingSettings ErrCode = 0x10a
ErrCodeRequestRejected ErrCode = 0x10b
ErrCodeRequestCanceled ErrCode = 0x10c
ErrCodeRequestIncomplete ErrCode = 0x10d
ErrCodeMessageError ErrCode = 0x10e
ErrCodeConnectError ErrCode = 0x10f
ErrCodeVersionFallback ErrCode = 0x110
2023-08-25 16:15:45 +02:00
ErrCodeDatagramError ErrCode = 0x33
2022-07-21 18:50:10 +02:00
)
2023-05-01 16:05:02 +02:00
func (e ErrCode) String() string {
2023-10-12 15:53:53 +02:00
s := e.string()
if s != "" {
return s
}
return fmt.Sprintf("unknown error code: %#x", uint16(e))
}
func (e ErrCode) string() string {
2022-07-21 18:50:10 +02:00
switch e {
2023-05-01 16:05:02 +02:00
case ErrCodeNoError:
2022-07-21 18:50:10 +02:00
return "H3_NO_ERROR"
2023-05-01 16:05:02 +02:00
case ErrCodeGeneralProtocolError:
2022-07-21 18:50:10 +02:00
return "H3_GENERAL_PROTOCOL_ERROR"
2023-05-01 16:05:02 +02:00
case ErrCodeInternalError:
2022-07-21 18:50:10 +02:00
return "H3_INTERNAL_ERROR"
2023-05-01 16:05:02 +02:00
case ErrCodeStreamCreationError:
2022-07-21 18:50:10 +02:00
return "H3_STREAM_CREATION_ERROR"
2023-05-01 16:05:02 +02:00
case ErrCodeClosedCriticalStream:
2022-07-21 18:50:10 +02:00
return "H3_CLOSED_CRITICAL_STREAM"
2023-05-01 16:05:02 +02:00
case ErrCodeFrameUnexpected:
2022-07-21 18:50:10 +02:00
return "H3_FRAME_UNEXPECTED"
2023-05-01 16:05:02 +02:00
case ErrCodeFrameError:
2022-07-21 18:50:10 +02:00
return "H3_FRAME_ERROR"
2023-05-01 16:05:02 +02:00
case ErrCodeExcessiveLoad:
2022-07-21 18:50:10 +02:00
return "H3_EXCESSIVE_LOAD"
2023-05-01 16:05:02 +02:00
case ErrCodeIDError:
2022-07-21 18:50:10 +02:00
return "H3_ID_ERROR"
2023-05-01 16:05:02 +02:00
case ErrCodeSettingsError:
2022-07-21 18:50:10 +02:00
return "H3_SETTINGS_ERROR"
2023-05-01 16:05:02 +02:00
case ErrCodeMissingSettings:
2022-07-21 18:50:10 +02:00
return "H3_MISSING_SETTINGS"
2023-05-01 16:05:02 +02:00
case ErrCodeRequestRejected:
2022-07-21 18:50:10 +02:00
return "H3_REQUEST_REJECTED"
2023-05-01 16:05:02 +02:00
case ErrCodeRequestCanceled:
2022-07-21 18:50:10 +02:00
return "H3_REQUEST_CANCELLED"
2023-05-01 16:05:02 +02:00
case ErrCodeRequestIncomplete:
2022-07-21 18:50:10 +02:00
return "H3_INCOMPLETE_REQUEST"
2023-05-01 16:05:02 +02:00
case ErrCodeMessageError:
2022-07-21 18:50:10 +02:00
return "H3_MESSAGE_ERROR"
2023-05-01 16:05:02 +02:00
case ErrCodeConnectError:
2022-07-21 18:50:10 +02:00
return "H3_CONNECT_ERROR"
2023-05-01 16:05:02 +02:00
case ErrCodeVersionFallback:
2022-07-21 18:50:10 +02:00
return "H3_VERSION_FALLBACK"
2023-05-01 16:05:02 +02:00
case ErrCodeDatagramError:
2022-07-21 18:50:10 +02:00
return "H3_DATAGRAM_ERROR"
default:
2023-10-12 15:53:53 +02:00
return ""
2022-07-21 18:50:10 +02:00
}
}