gRPC Debugging
gRPC Entry Point
Section titled “gRPC Entry Point”SyncTV public gRPC and HTTP REST share server.port, default 8080.
server.enable_reflection=true by default, so development environments can explore services with grpcurl. Production should usually disable reflection and use checked-in protobuf files.
Use grpcurl
Section titled “Use grpcurl”Start with reflection:
SYNCTV_SERVER_ENABLE_REFLECTION=true \cargo run -p synctv --bin synctv -- serveList services:
grpcurl -plaintext localhost:8080 listgrpcurl -plaintext localhost:8080 list synctv.client.AuthServicePublic client services include synctv.client.AuthService, UserService, RoomService, PublicService, EmailService, NotificationService, and OAuth2Service. The public admin gRPC service is synctv.admin.AdminService. The management gRPC service is a separate endpoint named synctv.management.ManagementService; it is not served on server.port.
Use repository protobuf files without reflection:
grpcurl -plaintext \ -import-path synctv-proto \ -proto proto/client.proto \ localhost:8080 \ synctv.client.AuthService/Login-plaintext is for local development or trusted internal networks only. Production deployments should use TLS at the proxy or client connection layer.
Register Example
Section titled “Register Example”grpcurl -plaintext -d '{ "username": "alice", "email": "alice@example.com", "password": "securepassword123"}' localhost:8080 synctv.client.AuthService/RegisterLogin Example
Section titled “Login Example”grpcurl -plaintext -d '{ "username": "alice", "password": "securepassword123"}' localhost:8080 synctv.client.AuthService/LoginRelationship With OpenAPI
Section titled “Relationship With OpenAPI”OpenAPI documents HTTP APIs only. gRPC debugging uses reflection or protobuf files. See OpenAPI Access for Swagger UI and OpenAPI JSON.