statping: github.com/hunterlong/statping/handlers Index | Files

package handlers

import "github.com/hunterlong/statping/handlers"

Package handlers contains the HTTP server along with the requests and routes. All HTTP related functions are in this package.

More info on: https://github.com/statping/statping

Index

Package Files

api.go authentication.go cache.go checkin.go dashboard.go doc.go function.go groups.go handlers.go incident.go index.go messages.go middleware.go notifications.go oauth.go prometheus.go routes.go scope.go services.go setup.go users.go

func DecodeJSON Uses

func DecodeJSON(r *http.Request, obj interface{}) error

func ExecuteResponse Uses

func ExecuteResponse(w http.ResponseWriter, r *http.Request, file string, data interface{}, redirect interface{})

ExecuteResponse will render a HTTP response for the front end user

func Gzip Uses

func Gzip(handler http.Handler) http.Handler

func IsAdmin Uses

func IsAdmin(r *http.Request) bool

IsAdmin returns true if the user session is an administrator

func IsFullAuthenticated Uses

func IsFullAuthenticated(r *http.Request) bool

IsFullAuthenticated returns true if the HTTP request is authenticated. You can set the environment variable GO_ENV=test to bypass the admin authenticate to the dashboard features.

func IsReadAuthenticated Uses

func IsReadAuthenticated(r *http.Request) bool

IsReadAuthenticated will allow Read Only authentication for some routes

func IsUser Uses

func IsUser(r *http.Request) bool

IsUser returns true if the user is registered

func PrometheusComment Uses

func PrometheusComment(comment string)

func PrometheusExportKey Uses

func PrometheusExportKey(keyName string, id int64, name string, value interface{})

func PrometheusKeyValue Uses

func PrometheusKeyValue(keyName string, value interface{})

func PrometheusNoIDExportKey Uses

func PrometheusNoIDExportKey(keyName string, name string, value interface{})

func Router Uses

func Router() *mux.Router

Router returns all of the routes used in Statping. Server will use static assets if the 'assets' directory is found in the root directory.

func RunHTTPServer Uses

func RunHTTPServer(ip string, port int) error

RunHTTPServer will start a HTTP server on a specific IP and port

func SafeJson Uses

func SafeJson(val reflect.Value, scope string) map[string]interface{}

func ScopeName Uses

func ScopeName(r *http.Request) string

ScopeName will show private JSON fields in the API. It will return "admin" if request has valid admin authentication.

type Cacher Uses

type Cacher interface {
    Get(key string) []byte
    Delete(key string)
    Set(key string, content []byte, duration time.Duration)
    List() map[string]Item
    Lock()
    Unlock()
    StopRoutine()
}
var CacheStorage Cacher

type Item Uses

type Item struct {
    Content    []byte
    Expiration int64
}

Item is a cached reference

func (Item) Expired Uses

func (item Item) Expired() bool

Expired returns true if the item has expired.

type JwtClaim Uses

type JwtClaim struct {
    Username string `json:"username"`
    Admin    bool   `json:"admin"`
    jwt.StandardClaims
}

type Storage Uses

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

Storage mecanism for caching strings in memory

func NewStorage Uses

func NewStorage() *Storage

NewStorage creates a new in memory CacheStorage

func (Storage) Delete Uses

func (s Storage) Delete(key string)

func (Storage) Get Uses

func (s Storage) Get(key string) []byte

Get a cached content by key

func (Storage) List Uses

func (s Storage) List() map[string]Item

func (Storage) Lock Uses

func (s Storage) Lock()

func (Storage) Set Uses

func (s Storage) Set(key string, content []byte, duration time.Duration)

Set a cached content by key

func (Storage) StopRoutine Uses

func (s Storage) StopRoutine()

func (Storage) Unlock Uses

func (s Storage) Unlock()

Package handlers imports 45 packages (graph). Updated 2020-05-21. Refresh now. Tools for package owners.