server

package
v0.0.19 Latest Latest
Warning

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

Go to latest
Published: May 15, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type API

type API struct {
	*Server
}

func NewAPI

func NewAPI(handler APIHandler) (api *API)

type APIHandler

type APIHandler func(*API, http.ResponseWriter, *http.Request)

type File

type File struct {
	*Server
}

func NewFile

func NewFile(handler FileHandler) (file *File)

type FileHandler

type FileHandler func(*File, http.ResponseWriter, *http.Request)

type ForwardProxy

type ForwardProxy struct {
	*Proxy
}

func NewForwardProxy

func NewForwardProxy() (forwardProxy *ForwardProxy)

type Proxy

type Proxy struct {
	*Server
}

func NewProxy

func NewProxy(handler ProxyHandler) (proxy *Proxy)

type ProxyHandler

type ProxyHandler func(*Proxy, http.ResponseWriter, *http.Request)

type ReverseProxy

type ReverseProxy struct {
	*Proxy
	*httputil.ReverseProxy
	OriginURL *url.URL
}

func NewReverseProxy

func NewReverseProxy(originURL *url.URL) (reverseProxy *ReverseProxy, err error)

func (*ReverseProxy) SetOriginURL

func (reverseProxy *ReverseProxy) SetOriginURL(originURL *url.URL)

type Router added in v0.0.15

type Router struct {
	*Server
}

func NewRouter added in v0.0.15

func NewRouter() (router *Router)

func (*Router) NewRoute added in v0.0.15

func (router *Router) NewRoute(route alox.Server, filters ...alox.Filter)

type SPA

type SPA struct {
	*Web
	SPAParams
}

func NewSPA

func NewSPA(handler SPAHandler, params SPAParams) (spa *SPA, err error)

func (*SPA) MustWriteFile added in v0.0.2

func (spa *SPA) MustWriteFile(responseWriter http.ResponseWriter, request *http.Request)

func (*SPA) MustWriteWebpage added in v0.0.2

func (spa *SPA) MustWriteWebpage(responseWriter http.ResponseWriter, request *http.Request)

func (*SPA) Webpage added in v0.0.4

func (spa *SPA) Webpage() *webpage.Webpage

func (*SPA) WriteFile added in v0.0.2

func (spa *SPA) WriteFile(responseWriter http.ResponseWriter, request *http.Request) (err error)

func (*SPA) WriteFileOrWebpage added in v0.0.2

func (spa *SPA) WriteFileOrWebpage(responseWriter http.ResponseWriter, request *http.Request)

func (*SPA) WriteWebpage added in v0.0.2

func (spa *SPA) WriteWebpage(responseWriter http.ResponseWriter, request *http.Request) (err error)

type SPAHandler added in v0.0.2

type SPAHandler func(*SPA, http.ResponseWriter, *http.Request)

type SPAParams

type SPAParams struct {
	FS             fs.FS
	FSKey          string
	InputHTMLName  string
	HydrateWebpage func(*SPA, http.ResponseWriter, *http.Request, *webpage.Webpage)
}

type Server

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

func NewServer

func NewServer() *Server

func (*Server) AddFilters

func (server *Server) AddFilters(filter ...alox.Filter) alox.Server

func (*Server) AddMiddlewares

func (server *Server) AddMiddlewares(middlewares ...alox.Middleware) alox.Server

func (*Server) ContextValues

func (server *Server) ContextValues() alox.ContextValues

func (*Server) HandleError

func (server *Server) HandleError(responseWriter http.ResponseWriter, request *http.Request, err interface{})

func (*Server) MarshalAndWriteJSON added in v0.0.14

func (server *Server) MarshalAndWriteJSON(responseWriter http.ResponseWriter, request *http.Request, value interface{})

func (*Server) Match

func (server *Server) Match(request *http.Request) bool

func (*Server) MustWriteWebpage added in v0.0.2

func (server *Server) MustWriteWebpage(responseWriter http.ResponseWriter, request *http.Request, webpage *webpage.Webpage)

func (*Server) NewAPI

func (server *Server) NewAPI(handler APIHandler) (api *API)

func (*Server) NewFile

func (server *Server) NewFile(handler FileHandler) (file *File)

func (*Server) NewReverseProxy added in v0.0.2

func (server *Server) NewReverseProxy(originURL *url.URL) (reverseProxy *ReverseProxy, err error)

func (*Server) NewSPA added in v0.0.2

func (server *Server) NewSPA(handler SPAHandler, params SPAParams) (spa *SPA, err error)

func (*Server) NewWeb

func (server *Server) NewWeb(handler WebHandler) (web *Web)

func (*Server) OnWrite added in v0.0.14

func (server *Server) OnWrite(onWrite alox.OnWrite)

func (*Server) RenderAndWriteHTMLNode added in v0.0.14

func (server *Server) RenderAndWriteHTMLNode(responseWriter http.ResponseWriter, request *http.Request, node *html.Node)

func (*Server) ServeHTTP

func (server *Server) ServeHTTP(responseWriter http.ResponseWriter, request *http.Request)

func (*Server) SetErrorHandler

func (server *Server) SetErrorHandler(errorHandler alox.ErrorHandler) alox.Server

func (*Server) SetHandler

func (server *Server) SetHandler(handler alox.Handler) alox.Server

func (*Server) Sub added in v0.0.15

func (server *Server) Sub(sub alox.Server) alox.Server

func (*Server) Write added in v0.0.14

func (server *Server) Write(
	responseWriter http.ResponseWriter,
	request *http.Request,
	contentType string,
	contentLength int,
	data []byte,
)

func (*Server) WriteHTML

func (server *Server) WriteHTML(responseWriter http.ResponseWriter, request *http.Request, html []byte)

func (*Server) WriteJSON

func (server *Server) WriteJSON(responseWriter http.ResponseWriter, request *http.Request, json []byte)

func (*Server) WriteText added in v0.0.14

func (server *Server) WriteText(responseWriter http.ResponseWriter, request *http.Request, text []byte)

func (*Server) WriteWebpage

func (server *Server) WriteWebpage(responseWriter http.ResponseWriter, request *http.Request, webpage *webpage.Webpage) (err error)

func (*Server) WriteXML added in v0.0.14

func (server *Server) WriteXML(responseWriter http.ResponseWriter, request *http.Request, xml []byte)

type Web

type Web struct {
	*Server
	// https://hackandsla.sh/posts/2021-11-06-serve-spa-from-go/
	// use http.FileSystem instead?
	FS       map[string]fs.FS
	Webpages map[string]*webpage.Webpage
}

func NewWeb

func NewWeb(handler WebHandler) (web *Web)

func (*Web) SetWebpage

func (web *Web) SetWebpage(key string, webpage *webpage.Webpage) *Web

func (*Web) Webpage

func (web *Web) Webpage(key string) *webpage.Webpage

func (*Web) WriteFile

func (web *Web) WriteFile(responseWriter http.ResponseWriter, request *http.Request, key, name string) (err error)

type WebHandler

type WebHandler func(*Web, http.ResponseWriter, *http.Request)

Jump to

Keyboard shortcuts

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