router

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2023 License: GPL-3.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Manager

type Manager struct {
	// contains filtered or unexported fields
}

Manager is a database and mutex wrap around router allowing it to be dynamically regenerated after updating the database of routes.

func NewManager

func NewManager(db *sql.DB, proxy *proxy.HybridTransport) *Manager

NewManager create a new manager, initialises the routes and redirects tables in the database and runs a first time compile.

func (*Manager) Compile

func (m *Manager) Compile()

func (*Manager) DeleteRedirect

func (m *Manager) DeleteRedirect(source string) error

func (*Manager) DeleteRoute

func (m *Manager) DeleteRoute(source string) error

func (*Manager) GetAllRedirects

func (m *Manager) GetAllRedirects() ([]target.RedirectWithActive, error)

func (*Manager) GetAllRoutes

func (m *Manager) GetAllRoutes() ([]target.RouteWithActive, error)

func (*Manager) InsertRedirect

func (m *Manager) InsertRedirect(redirect target.Redirect) error

func (*Manager) InsertRoute

func (m *Manager) InsertRoute(route target.Route) error

func (*Manager) ServeHTTP

func (m *Manager) ServeHTTP(rw http.ResponseWriter, req *http.Request)

type Router

type Router struct {
	// contains filtered or unexported fields
}

func New

func New(proxy *proxy.HybridTransport) *Router

func (*Router) AddRedirect

func (r *Router) AddRedirect(t target.Redirect)

func (*Router) AddRoute

func (r *Router) AddRoute(t target.Route)

func (*Router) ServeHTTP

func (r *Router) ServeHTTP(rw http.ResponseWriter, req *http.Request)

Jump to

Keyboard shortcuts

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