http

package
v0.4.13 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2017 License: MIT Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ApiUrlFormat = "http://%s%s/%s?%s"
	ApiPath      = "/api/v0" // TODO: make configurable
)
View Source
const (
	ACAOrigin      = "Access-Control-Allow-Origin"
	ACAMethods     = "Access-Control-Allow-Methods"
	ACACredentials = "Access-Control-Allow-Credentials"
)
View Source
const (
	StreamErrHeader = "X-Stream-Error"
)

Variables

View Source
var AllowedExposedHeaders = strings.Join(AllowedExposedHeadersArr, ", ")
View Source
var AllowedExposedHeadersArr = []string{streamHeader, channelHeader, extraContentLengthHeader}
View Source
var (
	ErrNotFound = errors.New("404 page not found")
)
View Source
var OptionSkipMap = map[string]bool{
	"api": true,
}

Functions

func NewHandler

func NewHandler(ctx cmds.Context, root *cmds.Command, cfg *ServerConfig) http.Handler

func Parse

func Parse(r *http.Request, root *cmds.Command) (cmds.Request, error)

Parse parses the data in a http.Request and returns a command Request object

Types

type Client

type Client interface {
	Send(req cmds.Request) (cmds.Response, error)
}

Client is the commands HTTP client interface.

func NewClient

func NewClient(address string) Client

type Handler

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

The Handler struct is funny because we want to wrap our internal handler with CORS while keeping our fields.

func (Handler) ServeHTTP

func (i Handler) ServeHTTP(w http.ResponseWriter, r *http.Request)

type MultiFileReader

type MultiFileReader struct {
	io.Reader
	// contains filtered or unexported fields
}

MultiFileReader reads from a `commands.File` (which can be a directory of files or a regular file) as HTTP multipart encoded data.

func NewMultiFileReader

func NewMultiFileReader(file files.File, form bool) *MultiFileReader

NewMultiFileReader constructs a MultiFileReader. `file` can be any `commands.File`. If `form` is set to true, the multipart data will have a Content-Type of 'multipart/form-data', if `form` is false, the Content-Type will be 'multipart/mixed'.

func (*MultiFileReader) Boundary

func (mfr *MultiFileReader) Boundary() string

Boundary returns the boundary string to be used to separate files in the multipart data

func (*MultiFileReader) Read

func (mfr *MultiFileReader) Read(buf []byte) (written int, err error)

type ServerConfig added in v0.3.6

type ServerConfig struct {
	// Headers is an optional map of headers that is written out.
	Headers map[string][]string
	// contains filtered or unexported fields
}

func NewServerConfig added in v0.3.9

func NewServerConfig() *ServerConfig

func (ServerConfig) AllowedMethods added in v0.3.9

func (cfg ServerConfig) AllowedMethods() []string

func (ServerConfig) AllowedOrigins added in v0.3.9

func (cfg ServerConfig) AllowedOrigins() []string

func (*ServerConfig) AppendAllowedOrigins added in v0.3.9

func (cfg *ServerConfig) AppendAllowedOrigins(origins ...string)

func (*ServerConfig) SetAllowCredentials added in v0.3.9

func (cfg *ServerConfig) SetAllowCredentials(flag bool)

func (*ServerConfig) SetAllowedMethods added in v0.3.9

func (cfg *ServerConfig) SetAllowedMethods(methods ...string)

func (*ServerConfig) SetAllowedOrigins added in v0.3.9

func (cfg *ServerConfig) SetAllowedOrigins(origins ...string)

Jump to

Keyboard shortcuts

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