web

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Jun 21, 2020 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package web contains general REST API definitions.

The REST API provides an interface to Brawler. It allows querying and control of the event engine. The API responds to GET, POST, PUT and DELETE requests in JSON.

Common API definitions

/about

Endpoint which returns an object with version information.

api_versions : List of available API versions e.g. [ "v1" ]
product      : Name of the API provider (Brawler)
version:     : Version of the API provider
revision:    : Revision of the API provider

/swagger.json

Dynamically generated swagger definition file. See: http://swagger.io

Index

Constants

View Source
const APIRoot = "/rum"

APIRoot is the root directory for the REST API

View Source
const APIVersion = "1.0.0"

APIVersion is the version of the REST API

View Source
const EndpointAbout = APIRoot + "/about/"

EndpointAbout is the about endpoint URL (rooted). Handles about/

View Source
const EndpointSwagger = APIRoot + "/swagger.json/"

EndpointSwagger is the swagger endpoint URL (rooted). Handles swagger.json/

Variables

View Source
var APIHost = "localhost:9030"

APIHost is the host definition for the REST API

View Source
var APISchemes = []string{"https"}

APISchemes is a list of supported protocol schemes

View Source
var GeneralEndpointMap = map[string]RestEndpointInst{
	EndpointAbout:   AboutEndpointInst,
	EndpointSwagger: SwaggerEndpointInst,
}

GeneralEndpointMap contains general endpoints which should always be available

View Source
var HandleFunc = http.HandleFunc

HandleFunc to use for registering handlers

Should be of type: func(pattern string, handler func(http.ResponseWriter, *http.Request))

Functions

func Error

func Error(w http.ResponseWriter, errortype string, msg string, detail interface{}, httpcode int)

Error writes an error response to a given response writer.

func RegisterRestEndpoints

func RegisterRestEndpoints(endpointInsts map[string]RestEndpointInst)

RegisterRestEndpoints registers all given REST endpoint handlers.

Types

type DefaultEndpointHandler

type DefaultEndpointHandler struct {
}

DefaultEndpointHandler represents the default endpoint handler.

func (*DefaultEndpointHandler) HandleDELETE

func (de *DefaultEndpointHandler) HandleDELETE(w http.ResponseWriter, r *http.Request, resources []string)

HandleDELETE is a method stub returning an error.

func (*DefaultEndpointHandler) HandleGET

func (de *DefaultEndpointHandler) HandleGET(w http.ResponseWriter, r *http.Request, resources []string)

HandleGET is a method stub returning an error.

func (*DefaultEndpointHandler) HandlePOST

func (de *DefaultEndpointHandler) HandlePOST(w http.ResponseWriter, r *http.Request, resources []string)

HandlePOST is a method stub returning an error.

func (*DefaultEndpointHandler) HandlePUT

func (de *DefaultEndpointHandler) HandlePUT(w http.ResponseWriter, r *http.Request, resources []string)

HandlePUT is a method stub returning an error.

type RestEndpointHandler

type RestEndpointHandler interface {

	/*
		HandleGET handles a GET request.
	*/
	HandleGET(w http.ResponseWriter, r *http.Request, resources []string)

	/*
		HandlePOST handles a POST request.
	*/
	HandlePOST(w http.ResponseWriter, r *http.Request, resources []string)

	/*
		HandlePUT handles a PUT request.
	*/
	HandlePUT(w http.ResponseWriter, r *http.Request, resources []string)

	/*
		HandleDELETE handles a DELETE request.
	*/
	HandleDELETE(w http.ResponseWriter, r *http.Request, resources []string)

	/*
		SwaggerDefs is used to describe the endpoint in swagger.
	*/
	SwaggerDefs(s map[string]interface{})
}

RestEndpointHandler models a REST endpoint handler.

func AboutEndpointInst

func AboutEndpointInst() RestEndpointHandler

AboutEndpointInst creates a new endpoint handler.

func SwaggerEndpointInst

func SwaggerEndpointInst() RestEndpointHandler

SwaggerEndpointInst creates a new endpoint handler.

type RestEndpointInst

type RestEndpointInst func() RestEndpointHandler

RestEndpointInst models a factory function for REST endpoint handlers.

Directories

Path Synopsis
Package v1 contains Brawler REST API Version 1.
Package v1 contains Brawler REST API Version 1.

Jump to

Keyboard shortcuts

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