Documentation
¶
Index ¶
- func CreateService(srv WebSocketRPC, options []connect.HandlerOption) (*api.Service, error)
- type Deps
- type WebSocketEvent
- type WebSocketHeaderEvent
- type WebSocketHeaderTopic
- type WebSocketRPC
- func (s *WebSocketRPC) WebSocketCollection(ctx context.Context, _ *connect.Request[emptypb.Empty]) (*connect.Response[apiv1.WebSocketCollectionResponse], error)
- func (s *WebSocketRPC) WebSocketDelete(ctx context.Context, req *connect.Request[apiv1.WebSocketDeleteRequest]) (*connect.Response[emptypb.Empty], error)
- func (s *WebSocketRPC) WebSocketHeaderCollection(ctx context.Context, _ *connect.Request[emptypb.Empty]) (*connect.Response[apiv1.WebSocketHeaderCollectionResponse], error)
- func (s *WebSocketRPC) WebSocketHeaderDelete(ctx context.Context, req *connect.Request[apiv1.WebSocketHeaderDeleteRequest]) (*connect.Response[emptypb.Empty], error)
- func (s *WebSocketRPC) WebSocketHeaderInsert(ctx context.Context, req *connect.Request[apiv1.WebSocketHeaderInsertRequest]) (*connect.Response[emptypb.Empty], error)
- func (s *WebSocketRPC) WebSocketHeaderSync(ctx context.Context, _ *connect.Request[emptypb.Empty], ...) error
- func (s *WebSocketRPC) WebSocketHeaderUpdate(ctx context.Context, req *connect.Request[apiv1.WebSocketHeaderUpdateRequest]) (*connect.Response[emptypb.Empty], error)
- func (s *WebSocketRPC) WebSocketInsert(ctx context.Context, req *connect.Request[apiv1.WebSocketInsertRequest]) (*connect.Response[emptypb.Empty], error)
- func (s *WebSocketRPC) WebSocketProxyHandler() http.Handler
- func (s *WebSocketRPC) WebSocketSync(ctx context.Context, _ *connect.Request[emptypb.Empty], ...) error
- func (s *WebSocketRPC) WebSocketUpdate(ctx context.Context, req *connect.Request[apiv1.WebSocketUpdateRequest]) (*connect.Response[emptypb.Empty], error)
- type WebSocketTopic
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateService ¶
func CreateService(srv WebSocketRPC, options []connect.HandlerOption) (*api.Service, error)
Types ¶
type Deps ¶
type Deps struct {
DB *sql.DB
WS swebsocket.WebSocketService
WSH swebsocket.WebSocketHeaderService
US suser.UserService
Workspace sworkspace.WorkspaceService
WSStream eventstream.SyncStreamer[WebSocketTopic, WebSocketEvent]
WSHStream eventstream.SyncStreamer[WebSocketHeaderTopic, WebSocketHeaderEvent]
}
type WebSocketEvent ¶
type WebSocketHeaderEvent ¶
type WebSocketHeaderEvent struct {
Type string
WebSocketHeader *apiv1.WebSocketHeader
}
type WebSocketHeaderTopic ¶
type WebSocketRPC ¶
type WebSocketRPC struct {
web_socketv1connect.UnimplementedWebSocketServiceHandler
DB *sql.DB
// contains filtered or unexported fields
}
WebSocketRPC handles WebSocket CRUD operations and real-time sync.
func New ¶
func New(deps Deps) WebSocketRPC
func (*WebSocketRPC) WebSocketCollection ¶
func (*WebSocketRPC) WebSocketDelete ¶
func (*WebSocketRPC) WebSocketHeaderCollection ¶
func (*WebSocketRPC) WebSocketHeaderDelete ¶
func (*WebSocketRPC) WebSocketHeaderInsert ¶
func (*WebSocketRPC) WebSocketHeaderSync ¶
func (s *WebSocketRPC) WebSocketHeaderSync(ctx context.Context, _ *connect.Request[emptypb.Empty], stream *connect.ServerStream[apiv1.WebSocketHeaderSyncResponse]) error
func (*WebSocketRPC) WebSocketHeaderUpdate ¶
func (*WebSocketRPC) WebSocketInsert ¶
func (*WebSocketRPC) WebSocketProxyHandler ¶
func (s *WebSocketRPC) WebSocketProxyHandler() http.Handler
WebSocketProxyHandler returns an HTTP handler that proxies WebSocket connections. The client connects to this endpoint, which loads headers from the database, dials the target WebSocket server with those headers, and relays messages bidirectionally between client and target.
func (*WebSocketRPC) WebSocketSync ¶
func (s *WebSocketRPC) WebSocketSync(ctx context.Context, _ *connect.Request[emptypb.Empty], stream *connect.ServerStream[apiv1.WebSocketSyncResponse]) error
func (*WebSocketRPC) WebSocketUpdate ¶
type WebSocketTopic ¶
Click to show internal directories.
Click to hide internal directories.