Package proxy is a transparent proxy built on the go-micro/server

Package proxy is a transparent proxy built on the go-micro/server



This section is empty.


View Source
var (
	DefaultEndpoint = "localhost:9090"


This section is empty.


type Option

type Option func(o *Options)

func WithClient

func WithClient(c client.Client) Option

WithClient sets the client

func WithEndpoint

func WithEndpoint(e string) Option

WithEndpoint sets a proxy endpoint

func WithLink(name string, c client.Client) Option

WithLink sets a link for outbound requests

func WithRouter

func WithRouter(r router.Router) Option

WithRouter specifies the router to use

type Options

type Options struct {
	// Specific endpoint to always call
	Endpoint string
	// The default client to use
	Client client.Client
	// The default router to use
	Router router.Router
	// Extra links for different clients
	Links map[string]client.Client

type Proxy

type Proxy interface {
	// ProcessMessage handles inbound messages
	ProcessMessage(context.Context, server.Message) error
	// ServeRequest handles inbound requests
	ServeRequest(context.Context, server.Request, server.Response) error
	// Name of the proxy protocol
	String() string

Proxy can be used as a proxy server for go-micro services


Path Synopsis
grpc Package grpc transparently forwards the grpc protocol using a go-micro client.
http Package http provides a micro rpc to http proxy
mucp Package mucp transparently forwards the incoming request using a go-micro client.