A simple service used to experiment with different RPC frameworks:
Re-generate the proto defined server/client code:
protoc --go_out=paths=source_relative:. --go-grpc_out=. --go-grpc_opt=paths=source_relative --twirp_out=paths=source_relative:. rpc/authservice
Re-generate conjure code:
./godelw conjure
Run the Twirp server:
go run cmd/directory-service-grpc/main.go -addr localhost:8080
Query the server:
- Using
dsctl
:
go run cmd/dsctl/main.go -type twirp
- Using curl:
curl -XPOST http://localhost:8080/twirp/com.abboudlab.directoryservice.auth.AuthServiceV1/Login \
-H 'Content-Type: application/json' \
-d '{"username":"john","password":"super-strong"}'
Run the grpc server:
go run cmd/directory-service-grpc/main.go -addr localhost:8080 -username john -password doe
Query the server:
- Using
dsctl
:
go run cmd/dsctl/main.go -type grpc
go run cmd/directory-service-conjure -addr localhost:8080
Query the server:
- Using
dsctl
:
go run cmd/dsctl/main.go -type conjure
- Using curl:
curl -XPOST http://localhost:8080/v1/auth/login -k \
-H 'Content-Type: application/json' \
-d '{"username":"jonn","password":"super-strong"}'