57 lines
1.1 KiB
Protocol Buffer
57 lines
1.1 KiB
Protocol Buffer
|
|
syntax = "proto3";
|
||
|
|
package websocket;
|
||
|
|
option go_package = "github.com/navidrome/navidrome/plugins/host/websocket";
|
||
|
|
|
||
|
|
// go:plugin type=host version=1
|
||
|
|
service WebSocketService {
|
||
|
|
// Connect to a WebSocket endpoint
|
||
|
|
rpc Connect(ConnectRequest) returns (ConnectResponse);
|
||
|
|
|
||
|
|
// Send a text message
|
||
|
|
rpc SendText(SendTextRequest) returns (SendTextResponse);
|
||
|
|
|
||
|
|
// Send binary data
|
||
|
|
rpc SendBinary(SendBinaryRequest) returns (SendBinaryResponse);
|
||
|
|
|
||
|
|
// Close a connection
|
||
|
|
rpc Close(CloseRequest) returns (CloseResponse);
|
||
|
|
}
|
||
|
|
|
||
|
|
message ConnectRequest {
|
||
|
|
string url = 1;
|
||
|
|
map<string, string> headers = 2;
|
||
|
|
string connection_id = 3;
|
||
|
|
}
|
||
|
|
|
||
|
|
message ConnectResponse {
|
||
|
|
string connection_id = 1;
|
||
|
|
string error = 2;
|
||
|
|
}
|
||
|
|
|
||
|
|
message SendTextRequest {
|
||
|
|
string connection_id = 1;
|
||
|
|
string message = 2;
|
||
|
|
}
|
||
|
|
|
||
|
|
message SendTextResponse {
|
||
|
|
string error = 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
message SendBinaryRequest {
|
||
|
|
string connection_id = 1;
|
||
|
|
bytes data = 2;
|
||
|
|
}
|
||
|
|
|
||
|
|
message SendBinaryResponse {
|
||
|
|
string error = 1;
|
||
|
|
}
|
||
|
|
|
||
|
|
message CloseRequest {
|
||
|
|
string connection_id = 1;
|
||
|
|
int32 code = 2;
|
||
|
|
string reason = 3;
|
||
|
|
}
|
||
|
|
|
||
|
|
message CloseResponse {
|
||
|
|
string error = 1;
|
||
|
|
}
|