|
|
@@ -37,22 +37,6 @@ func GetPassThrough(builder *gateway.Builder, params *SimpleOnePassThroughParams
|
|
|
params.passThrough(builder, http.MethodGet, middlewares...)
|
|
|
}
|
|
|
|
|
|
-func PostCommonPassThrough(builder *gateway.Builder, params *SimpleCommonPassThroughParams, middlewares ...gateway.Handler) {
|
|
|
- params.passThrough(builder, http.MethodPost, middlewares...)
|
|
|
-}
|
|
|
-
|
|
|
-func DeleteCommonPassThrough(builder *gateway.Builder, params *SimpleCommonPassThroughParams, middlewares ...gateway.Handler) {
|
|
|
- params.passThrough(builder, http.MethodDelete, middlewares...)
|
|
|
-}
|
|
|
-
|
|
|
-func PutCommonPassThrough(builder *gateway.Builder, params *SimpleCommonPassThroughParams, middlewares ...gateway.Handler) {
|
|
|
- params.passThrough(builder, http.MethodPut, middlewares...)
|
|
|
-}
|
|
|
-
|
|
|
-func GetCommonPassThrough(builder *gateway.Builder, params *SimpleCommonPassThroughParams, middlewares ...gateway.Handler) {
|
|
|
- params.passThrough(builder, http.MethodGet, middlewares...)
|
|
|
-}
|
|
|
-
|
|
|
type PassThroughRequestItem struct {
|
|
|
Request gateway.Request
|
|
|
RequestResponseCallback gateway.RequestResponseCallback
|
|
|
@@ -135,44 +119,3 @@ func (params *OnePassThroughParams) passThrough(builder *gateway.Builder, middle
|
|
|
requestBuilder.Request()
|
|
|
}, middlewares...)
|
|
|
}
|
|
|
-
|
|
|
-type SimpleCommonPassThroughParams struct {
|
|
|
- RelativePath string
|
|
|
- RequestItems []PassThroughRequestItem
|
|
|
-}
|
|
|
-
|
|
|
-func (params *SimpleCommonPassThroughParams) passThrough(builder *gateway.Builder, httpMethod string, middlewares ...gateway.Handler) {
|
|
|
- passThroughParams := &CommonPassThroughParams{
|
|
|
- HttpMethod: httpMethod,
|
|
|
- SimpleCommonPassThroughParams: params,
|
|
|
- }
|
|
|
-
|
|
|
- passThroughParams.passThrough(builder, middlewares...)
|
|
|
-}
|
|
|
-
|
|
|
-type CommonPassThroughParams struct {
|
|
|
- HttpMethod string
|
|
|
- *SimpleCommonPassThroughParams
|
|
|
-}
|
|
|
-
|
|
|
-func (params *CommonPassThroughParams) passThrough(builder *gateway.Builder, middlewares ...gateway.Handler) {
|
|
|
- builder.AddRoute(params.HttpMethod, params.RelativePath,
|
|
|
- func(requestBuilder *gateway.RequestBuilder) {
|
|
|
- for _, requestItem := range params.RequestItems {
|
|
|
- switch req := requestItem.Request.(type) {
|
|
|
- case *gateway.PostRequest:
|
|
|
- requestBuilder.Post(req, gateway.WithRequestResponseCallback(requestItem.RequestResponseCallback))
|
|
|
- case *gateway.DeleteRequest:
|
|
|
- requestBuilder.Delete(req, gateway.WithRequestResponseCallback(requestItem.RequestResponseCallback))
|
|
|
- case *gateway.PutRequest:
|
|
|
- requestBuilder.Put(req, gateway.WithRequestResponseCallback(requestItem.RequestResponseCallback))
|
|
|
- case *gateway.GetRequest:
|
|
|
- requestBuilder.Get(req, gateway.WithRequestResponseCallback(requestItem.RequestResponseCallback))
|
|
|
- default:
|
|
|
- panic("不支持的请求类型")
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- requestBuilder.Request()
|
|
|
- }, middlewares...)
|
|
|
-}
|