Files
upstream-mirror b352a9a30d
Some checks failed
test / Lint (push) Failing after 3s
test / Test with Go 1.26.8 (push) Failing after 2s
snapshot of https://github.com/centrifugal/centrifugo.git (master, 2026-09-16; blobs > 131072B omitted)
2026-09-16 01:17:21 +05:00

111 lines
2.9 KiB
Go

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
}