server

package
v0.0.0-...-f321956 Latest Latest
Warning

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

Go to latest
Published: Mar 31, 2022 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var NewServer = func(listenerAddr []string, port, serviceName, configsPath, templatesPath string, cert Certer) Server {
	return &serve{
		listenerAddresses: listenerAddr,
		port:              port,
		serviceName:       serviceName,
		configsPath:       configsPath,
		templatesPath:     templatesPath,
		cert:              cert,
	}
}

NewServer returns instance of the Server with populated data

Functions

func GetCreds

func GetCreds() string

GetCreds returns credentials from environment variables.

func NewCert

func NewCert(certsDir string) *cert

NewCert returns an instance of `cert` struct with pre-populated variables.

func NewMetrics

func NewMetrics(metricsUrl string) metricer

NewMetrics returns metricer instance

Types

type CertResponse

type CertResponse struct {
	Status  string
	Message string
	Certs   []cert
}

CertResponse represent a response when a request for certificates is made.

type Certer

type Certer interface {
	Put(w http.ResponseWriter, req *http.Request) (string, error)
	PutCert(certName string, certContent []byte) (string, error)
	GetAll(w http.ResponseWriter, req *http.Request) (CertResponse, error)
	Init() error
}

Certer defines the interface that must be implemented by any struct that deals with certificates.

type Configer

type Configer interface {
	Get(w http.ResponseWriter, req *http.Request)
}

Configer defines the interface that must be implemented by any struct that deals with proxy configuration.

func NewConfig

func NewConfig() Configer

NewConfig returns a new instance of the Configer interface

type HttpRequestParameterProvider

type HttpRequestParameterProvider struct {
	*http.Request
}

HttpRequestParameterProvider defines structure used to convert HTTP parameters into proxy.Service

func (*HttpRequestParameterProvider) Fill

func (p *HttpRequestParameterProvider) Fill(service *proxy.Service)

Fill converts HTTP parameters into proxy.Service struct

func (*HttpRequestParameterProvider) GetString

func (p *HttpRequestParameterProvider) GetString(name string) string

GetString returns parameter value

type Response

type Response struct {
	Status      string
	Message     string
	ServiceName string
	proxy.Service
}

Response message returns to HTTP clients

type Server

type Server interface {
	GetServicesFromEnvVars() *[]proxy.Service
	GetServiceFromUrl(req *http.Request) *proxy.Service
	PingHandler(w http.ResponseWriter, req *http.Request)
	ReconfigureHandler(w http.ResponseWriter, req *http.Request)
	ReloadHandler(w http.ResponseWriter, req *http.Request)
	RemoveHandler(w http.ResponseWriter, req *http.Request)
	Test1Handler(w http.ResponseWriter, req *http.Request)
	Test2Handler(w http.ResponseWriter, req *http.Request)
}

Server handles requests

Jump to

Keyboard shortcuts

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