SongZihuan ce3e177cad feat: 经过若干适配 пре 1 година
..
internal ce3e177cad feat: 经过若干适配 пре 1 година
config.go ce3e177cad feat: 经过若干适配 пре 1 година
readme.md c1c7584de1 Update readme.md пре 2 година
server.go ce3e177cad feat: 经过若干适配 пре 1 година
server_test.go ce3e177cad feat: 经过若干适配 пре 1 година

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