| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package gateway
- import (
- "fmt"
- "git.sxidc.com/go-framework/baize/framework/core/api"
- )
- type Builder struct {
- router api.Router
- httpMethod string
- relativePath string
- }
- func (builder *Builder) Url(httpMethod string, relativePath string) *Builder {
- newBuilder := builder.copy()
- newBuilder.httpMethod = httpMethod
- newBuilder.relativePath = relativePath
- return newBuilder
- }
- func (builder *Builder) Request() *Builder {
- newBuilder := builder.copy()
- return newBuilder
- }
- func (builder *Builder) Response() *Builder {
- newBuilder := builder.copy()
- return newBuilder
- }
- func (builder *Builder) PassThrough() *Builder {
- newBuilder := builder.copy()
- return newBuilder
- }
- func (builder *Builder) Build(middlewares ...api.Handler) {
- newBuilder := builder.copy()
- newBuilder.router.AddRoute(builder.httpMethod, builder.relativePath, append(middlewares,
- func(c *api.Context) {
- fmt.Println("Come Here!!!")
- })...)
- }
- func (builder *Builder) copy() *Builder {
- newBuilder := &Builder{
- router: builder.router,
- httpMethod: builder.httpMethod,
- relativePath: builder.relativePath,
- }
- return newBuilder
- }
|