Package mucp transparently forwards the incoming request using a go-micro client.



    This section is empty.


    This section is empty.


    func NewProxy

    func NewProxy(opts ...proxy.Option) proxy.Proxy

      NewProxy returns a new proxy which will route based on mucp headers


      type Proxy

      type Proxy struct {
      	// Endpoint specifies the fixed service endpoint to call.
      	Endpoint string
      	// The client to use for outbound requests in the local network
      	Client client.Client
      	// Links are used for outbound requests not in the local network
      	Links map[string]client.Client
      	// The router for routes
      	Router router.Router
      	// A fib of routes service:address
      	Routes map[string]map[uint64]router.Route
      	// contains filtered or unexported fields

        Proxy will transparently proxy requests to an endpoint. If no endpoint is specified it will call a service using the client.

        func NewSingleHostProxy

        func NewSingleHostProxy(endpoint string) *Proxy

          NewSingleHostProxy returns a proxy which sends requests to a single backend

          func (*Proxy) ProcessMessage

          func (p *Proxy) ProcessMessage(ctx context.Context, msg server.Message) error

            ProcessMessage acts as a message exchange and forwards messages to ongoing topics TODO: should we look at p.Endpoint and only send to the local endpoint? probably

            func (*Proxy) ServeRequest

            func (p *Proxy) ServeRequest(ctx context.Context, req server.Request, rsp server.Response) error

              ServeRequest honours the server.Router interface

              func (*Proxy) String

              func (p *Proxy) String() string

              Source Files