snapshot of https://github.com/centrifugal/centrifugo.git (master, 2026-09-16; blobs > 131072B omitted)
This commit is contained in:
110
internal/proxyproto/decode.go
Normal file
110
internal/proxyproto/decode.go
Normal file
@@ -0,0 +1,110 @@
|
||||
package proxyproto
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
type ResponseDecoder interface {
|
||||
DecodeConnectResponse(data []byte) (*ConnectResponse, error)
|
||||
DecodeRefreshResponse(data []byte) (*RefreshResponse, error)
|
||||
DecodeRPCResponse(data []byte) (*RPCResponse, error)
|
||||
DecodeSubscribeResponse(data []byte) (*SubscribeResponse, error)
|
||||
DecodePublishResponse(data []byte) (*PublishResponse, error)
|
||||
DecodeSubRefreshResponse(data []byte) (*SubRefreshResponse, error)
|
||||
DecodeNotifyCacheEmptyResponse(data []byte) (*NotifyCacheEmptyResponse, error)
|
||||
DecodeMapPublishResponse(data []byte) (*MapPublishResponse, error)
|
||||
DecodeMapRemoveResponse(data []byte) (*MapRemoveResponse, error)
|
||||
DecodeSharedPollRefreshResponse(data []byte) (*SharedPollRefreshResponse, error)
|
||||
}
|
||||
|
||||
var _ ResponseDecoder = (*JSONDecoder)(nil)
|
||||
|
||||
type JSONDecoder struct{}
|
||||
|
||||
func (e *JSONDecoder) DecodeConnectResponse(data []byte) (*ConnectResponse, error) {
|
||||
var resp ConnectResponse
|
||||
err := json.Unmarshal(data, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (e *JSONDecoder) DecodeRefreshResponse(data []byte) (*RefreshResponse, error) {
|
||||
var resp RefreshResponse
|
||||
err := json.Unmarshal(data, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (e *JSONDecoder) DecodeRPCResponse(data []byte) (*RPCResponse, error) {
|
||||
var resp RPCResponse
|
||||
err := json.Unmarshal(data, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (e *JSONDecoder) DecodeSubscribeResponse(data []byte) (*SubscribeResponse, error) {
|
||||
var resp SubscribeResponse
|
||||
err := json.Unmarshal(data, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (e *JSONDecoder) DecodePublishResponse(data []byte) (*PublishResponse, error) {
|
||||
var resp PublishResponse
|
||||
err := json.Unmarshal(data, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (e *JSONDecoder) DecodeSubRefreshResponse(data []byte) (*SubRefreshResponse, error) {
|
||||
var resp SubRefreshResponse
|
||||
err := json.Unmarshal(data, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (e *JSONDecoder) DecodeNotifyCacheEmptyResponse(data []byte) (*NotifyCacheEmptyResponse, error) {
|
||||
var resp NotifyCacheEmptyResponse
|
||||
err := json.Unmarshal(data, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (e *JSONDecoder) DecodeMapPublishResponse(data []byte) (*MapPublishResponse, error) {
|
||||
var resp MapPublishResponse
|
||||
err := json.Unmarshal(data, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (e *JSONDecoder) DecodeMapRemoveResponse(data []byte) (*MapRemoveResponse, error) {
|
||||
var resp MapRemoveResponse
|
||||
err := json.Unmarshal(data, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
|
||||
func (e *JSONDecoder) DecodeSharedPollRefreshResponse(data []byte) (*SharedPollRefreshResponse, error) {
|
||||
var resp SharedPollRefreshResponse
|
||||
err := json.Unmarshal(data, &resp)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &resp, nil
|
||||
}
|
||||
Reference in New Issue
Block a user