resolver

package
v2.9.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2021 License: Apache-2.0 Imports: 3 Imported by: 3

Documentation

Overview

Package resolver resolves a http request to an endpoint

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNotFound    = errors.New("not found")
	ErrInvalidPath = errors.New("invalid path")
)

Functions

func StaticNamespace

func StaticNamespace(ns string) func(*http.Request) string

StaticNamespace returns the same namespace for each request

Types

type Endpoint

type Endpoint struct {
	// e.g greeter
	Name string
	// HTTP Host e.g example.com
	Host string
	// HTTP Methods e.g GET, POST
	Method string
	// HTTP Path e.g /greeter.
	Path string
	// Domain endpoint exists within
	Domain string
}

Endpoint is the endpoint for a http request

type Option

type Option func(o *Options)

func WithHandler

func WithHandler(h string) Option

WithHandler sets the handler being used

func WithNamespace

func WithNamespace(n func(*http.Request) string) Option

WithNamespace sets the function which determines the namespace for a request

func WithServicePrefix added in v2.9.4

func WithServicePrefix(p string) Option

WithServicePrefix sets the ServicePrefix option

type Options

type Options struct {
	Handler       string
	Namespace     func(*http.Request) string
	ServicePrefix string
}

func NewOptions

func NewOptions(opts ...Option) Options

NewOptions returns new initialised options

type ResolveOption added in v2.9.4

type ResolveOption func(*ResolveOptions)

ResolveOption sets an option

func Domain added in v2.9.4

func Domain(n string) ResolveOption

Domain sets the resolve Domain option

type ResolveOptions added in v2.9.4

type ResolveOptions struct {
	Domain string
}

ResolveOptions are used when resolving a request

func NewResolveOptions added in v2.9.4

func NewResolveOptions(opts ...ResolveOption) ResolveOptions

NewResolveOptions returns new initialised resolve options

type Resolver

type Resolver interface {
	Resolve(r *http.Request, opts ...ResolveOption) (*Endpoint, error)
	String() string
}

Resolver resolves requests to endpoints

Directories

Path Synopsis
Package grpc resolves a grpc service like /greeter.Say/Hello to greeter service
Package grpc resolves a grpc service like /greeter.Say/Hello to greeter service
Package host resolves using http host
Package host resolves using http host
Package path resolves using http path
Package path resolves using http path
Package vpath resolves using http path and recognised versioned urls
Package vpath resolves using http path and recognised versioned urls

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL