gateway

package
v0.0.146 Latest Latest
Warning

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

Go to latest
Published: Apr 17, 2024 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Types
	HANDLER   = "HANDLER"
	HTTP      = "HTTP"
	REST      = "REST"
	WEBSOCKET = "WEBSOCKET"
	// Methods
	CONNECT = "CONNECT"
	DELETE  = "DELETE"
	GET     = "GET"
	HEAD    = "HEAD"
	OPTIONS = "OPTIONS"
	PATCH   = "PATCH"
	POST    = "POST"
	PUT     = "PUT"
	TRACE   = "TRACE"
)

Variables

View Source
var Company = envar.EnvarStr("", "COMPANY")
View Source
var DefaultTelemetry func(next http.Handler) http.Handler
View Source
var Host = strs.Format(`%s:%d`, envar.EnvarStr("http://localhost", "HOST"), envar.EnvarInt(3300, "PORT"))
View Source
var HostName, _ = os.Hostname()
View Source
var PackageName = "gateway"
View Source
var PackagePath = "/api/gateway"
View Source
var PackageTitle = envar.EnvarStr("Apigateway", "PACKAGE_TITLE")
View Source
var PackageVersion = envar.EnvarStr("0.0.1", "VERSION")
View Source
var Web = envar.EnvarStr("", "WEB")

Functions

func Banner()

func Version

func Version() et.Json

Types

type Handlers

type Handlers map[string]http.HandlerFunc

type HttpServer

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

func (*HttpServer) AddHandleMethod

func (s *HttpServer) AddHandleMethod(method, path string, handlerFn http.HandlerFunc, packageName string)

func (*HttpServer) AddRoute

func (s *HttpServer) AddRoute(method, path, resolve, kind, stage, packageName string)

Add a route to the list

func (*HttpServer) Connect

func (s *HttpServer) Connect(pattern string, handlerFn http.HandlerFunc, packageName string)

Connect adds the route `pattern` that matches `CONNECT` http method to

func (*HttpServer) Delete

func (s *HttpServer) Delete(pattern string, handlerFn http.HandlerFunc, packageName string)

Delete adds the route `pattern` that matches `DELETE` http method to

func (*HttpServer) Get

func (s *HttpServer) Get(pattern string, handlerFn http.HandlerFunc, packageName string)

Get adds the route `pattern` that matches `GET` http method to

func (*HttpServer) GetResolve

func (s *HttpServer) GetResolve(method, path string) *Resolve

Get a route from the list

func (*HttpServer) Handler

func (s *HttpServer) Handler(handlerFn http.HandlerFunc)

Handler sets the handler function for the server.

func (*HttpServer) HandlerWebSocket

func (s *HttpServer) HandlerWebSocket(handlerFn http.HandlerFunc)

HandlerWebSocket sets the handler function for the server.

func (*HttpServer) Head

func (s *HttpServer) Head(pattern string, handlerFn http.HandlerFunc, packageName string)

Head adds the route `pattern` that matches `HEAD` http method to

func (*HttpServer) LoadRouter

func (s *HttpServer) LoadRouter() error

Load routes from file

func (*HttpServer) MethodFunc

func (s *HttpServer) MethodFunc(method, pattern string, handlerFn http.HandlerFunc, packageName string)

MethodFunc adds the route `pattern` that matches `method` http method to execute the `handlerFn` http.HandlerFunc.

func (*HttpServer) NotFound

func (s *HttpServer) NotFound(handlerFn http.HandlerFunc)

NotFound sets the handler function for the server.

func (*HttpServer) Options

func (s *HttpServer) Options(pattern string, handlerFn http.HandlerFunc, packageName string)

Options adds the route `pattern` that matches `OPTIONS` http method to

func (*HttpServer) Patch

func (s *HttpServer) Patch(pattern string, handlerFn http.HandlerFunc, packageName string)

Patch adds the route `pattern` that matches `PATCH` http method to

func (*HttpServer) Post

func (s *HttpServer) Post(pattern string, handlerFn http.HandlerFunc, packageName string)

Post adds the route `pattern` that matches `POST` http method to

func (*HttpServer) Put

func (s *HttpServer) Put(pattern string, handlerFn http.HandlerFunc, packageName string)

Put adds the route `pattern` that matches `PUT` http method to

func (*HttpServer) Save

func (s *HttpServer) Save() error

Save routes to file

func (*HttpServer) Trace

func (s *HttpServer) Trace(pattern string, handlerFn http.HandlerFunc, packageName string)

Trace adds the route `pattern` that matches `TRACE` http method to

type Metrics

type Metrics struct {
	ReqID            string
	TimeBegin        time.Time
	TimeEnd          time.Time
	TimeExec         time.Time
	SearchTime       time.Duration
	ResponseTime     time.Duration
	Downtime         time.Duration
	Latency          time.Duration
	NotFount         bool
	EndPoint         string
	Method           string
	RemoteAddr       string
	HostName         string
	Proto            string
	MTotal           uint64
	MUsed            uint64
	MFree            uint64
	PFree            float64
	RequestsHost     Request
	RequestsEndpoint Request
	Scheme           string
}

func NewMetric

func NewMetric(r *http.Request) *Metrics

type Node

type Node struct {
	Tag     string
	Resolve et.Json
	Nodes   []*Node
	// contains filtered or unexported fields
}

type Nodes

type Nodes struct {
	Routes []*Node
}

type Pakage

type Pakage struct {
	Name  string
	Nodes []*Node
	Count int
}

type Pakages

type Pakages struct {
	Pakages []*Pakage
}

type Request

type Request struct {
	Tag     string
	Day     int
	Hour    int
	Minute  int
	Seccond int
	Limit   int
}

func CallRequests

func CallRequests(tag string) Request

type Resolute

type Resolute struct {
	Method     string
	Proto      string
	Path       string
	RawQuery   string
	Query      url.Values
	RequestURI string
	RemoteAddr string
	Header     http.Header
	Body       io.ReadCloser
	Host       string
	Scheme     string
	Resolve    *Resolve
	URL        string
}

func GetResolute

func GetResolute(r *http.Request) *Resolute

func (*Resolute) ToString

func (r *Resolute) ToString() string

type Resolve

type Resolve struct {
	Node    *Node
	Params  []et.Json
	Resolve string
}

type Server

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

func New

func New() (*Server, error)

func (*Server) Close

func (serv *Server) Close() error

func (*Server) Start

func (serv *Server) Start()

type Service

type Service et.Item

func (*Service) Version

func (c *Service) Version(rq []byte, rp *et.Item) error

Jump to

Keyboard shortcuts

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