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.
|
|
|
package gateway
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"github.com/zeromicro/go-zero/rest"
|
|
|
|
"github.com/zeromicro/go-zero/zrpc"
|
|
|
|
)
|
|
|
|
|
|
|
|
type (
|
|
|
|
// GatewayConf is the configuration for gateway.
|
|
|
|
GatewayConf struct {
|
|
|
|
rest.RestConf
|
|
|
|
Upstreams []upstream
|
|
|
|
Timeout time.Duration `json:",default=5s"`
|
|
|
|
}
|
|
|
|
|
|
|
|
// mapping is a mapping between a gateway route and a upstream rpc method.
|
|
|
|
mapping struct {
|
|
|
|
// Method is the HTTP method, like GET, POST, PUT, DELETE.
|
|
|
|
Method string
|
|
|
|
// Path is the HTTP path.
|
|
|
|
Path string
|
|
|
|
// RpcPath is the gRPC rpc method, with format of package.service/method
|
|
|
|
RpcPath string
|
|
|
|
}
|
|
|
|
|
|
|
|
// upstream is the configuration for upstream.
|
|
|
|
upstream struct {
|
|
|
|
// Grpc is the target of upstream.
|
|
|
|
Grpc zrpc.RpcClientConf
|
|
|
|
// ProtoSet is the file of proto set, like hello.pb
|
|
|
|
ProtoSet string `json:",optional"`
|
|
|
|
Mapping []mapping
|
|
|
|
}
|
|
|
|
)
|