You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
c1c7584de1 | 2 years ago | |
---|---|---|
.. | ||
internal | 2 years ago | |
config.go | 2 years ago | |
readme.md | 2 years ago | |
server.go | 2 years ago |
readme.md
Gateway
Usage
- main.go
var configFile = flag.String("f", "config.yaml", "config file")
func main() {
flag.Parse()
var c gateway.GatewayConf
conf.MustLoad(*configFile, &c)
gw := gateway.MustNewServer(c)
defer gw.Stop()
gw.Start()
}
- config.yaml
Name: demo-gateway
Host: localhost
Port: 8888
Upstreams:
- Grpc:
Etcd:
Hosts:
- localhost:2379
Key: hello.rpc
# protoset mode
ProtoSets:
- hello.pb
# Mappings can also be written in proto options
Mappings:
- Method: get
Path: /pingHello/:ping
RpcPath: hello.Hello/Ping
- Grpc:
Endpoints:
- localhost:8081
# reflection mode, no ProtoSet settings
Mappings:
- Method: post
Path: /pingWorld
RpcPath: world.World/Ping
Generate ProtoSet files
- example command without external imports
protoc --descriptor_set_out=hello.pb hello.proto
- example command with external imports
protoc --include_imports --proto_path=. --descriptor_set_out=hello.pb hello.proto