httpbridge

package
v0.0.0-...-ee7fa39 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2018 License: Unlicense Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TxFrameTypeHeader = 0
	TxFrameTypeBody   = 1
	TxFrameTypeAbort  = 2
	TxFrameTypePause  = 3
	TxFrameTypeResume = 4
)
View Source
const (
	TxHttpVersionHttp10 = 0
	TxHttpVersionHttp11 = 1
	TxHttpVersionHttp2  = 2
)
View Source
const (
	TxFrameFlagsFinal = 1
)

Variables

View Source
var EnumNamesTxFrameFlags = map[int]string{
	TxFrameFlagsFinal: "Final",
}
View Source
var EnumNamesTxFrameType = map[int]string{
	TxFrameTypeHeader: "Header",
	TxFrameTypeBody:   "Body",
	TxFrameTypeAbort:  "Abort",
	TxFrameTypePause:  "Pause",
	TxFrameTypeResume: "Resume",
}
View Source
var EnumNamesTxHttpVersion = map[int]string{
	TxHttpVersionHttp10: "Http10",
	TxHttpVersionHttp11: "Http11",
	TxHttpVersionHttp2:  "Http2",
}

Functions

func TxFrameAddBody

func TxFrameAddBody(builder *flatbuffers.Builder, body flatbuffers.UOffsetT)

func TxFrameAddChannel

func TxFrameAddChannel(builder *flatbuffers.Builder, channel uint64)

func TxFrameAddFlags

func TxFrameAddFlags(builder *flatbuffers.Builder, flags byte)

func TxFrameAddFrametype

func TxFrameAddFrametype(builder *flatbuffers.Builder, frametype int8)

func TxFrameAddHeaders

func TxFrameAddHeaders(builder *flatbuffers.Builder, headers flatbuffers.UOffsetT)

func TxFrameAddStream

func TxFrameAddStream(builder *flatbuffers.Builder, stream uint64)

func TxFrameAddVersion

func TxFrameAddVersion(builder *flatbuffers.Builder, version int8)

func TxFrameEnd

func TxFrameEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT

func TxFrameStart

func TxFrameStart(builder *flatbuffers.Builder)

func TxFrameStartBodyVector

func TxFrameStartBodyVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT

func TxFrameStartHeadersVector

func TxFrameStartHeadersVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT

func TxHeaderLineAddId

func TxHeaderLineAddId(builder *flatbuffers.Builder, id uint16)

func TxHeaderLineAddKey

func TxHeaderLineAddKey(builder *flatbuffers.Builder, key flatbuffers.UOffsetT)

func TxHeaderLineAddValue

func TxHeaderLineAddValue(builder *flatbuffers.Builder, value flatbuffers.UOffsetT)

func TxHeaderLineEnd

func TxHeaderLineEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT

func TxHeaderLineStart

func TxHeaderLineStart(builder *flatbuffers.Builder)

func TxHeaderLineStartKeyVector

func TxHeaderLineStartKeyVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT

func TxHeaderLineStartValueVector

func TxHeaderLineStartValueVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT

Types

type LogLevel

type LogLevel int
const (
	LogLevelDebug LogLevel = iota
	LogLevelInfo
	LogLevelWarn
	LogLevelError
	LogLevelFatal
)

type Logger

type Logger struct {
	Target io.Writer
	Level  LogLevel
}

func (*Logger) Debug

func (g *Logger) Debug(m string)

func (*Logger) Debugf

func (g *Logger) Debugf(m string, args ...interface{})

func (*Logger) Error

func (g *Logger) Error(m string)

func (*Logger) Errorf

func (g *Logger) Errorf(m string, args ...interface{})

func (*Logger) Fatal

func (g *Logger) Fatal(m string)

func (*Logger) Fatalf

func (g *Logger) Fatalf(m string, args ...interface{})

func (*Logger) Info

func (g *Logger) Info(m string)

func (*Logger) Infof

func (g *Logger) Infof(m string, args ...interface{})

func (*Logger) Warn

func (g *Logger) Warn(m string)

func (*Logger) Warnf

func (g *Logger) Warnf(m string, args ...interface{})

type Server

type Server struct {
	// If you already have an HTTP listener, then you can forward requests from there
	// to this Server, by calling Server.ServeHTTP(). In such a case, you'll want to
	// set DisableHttpListener to true.
	DisableHttpListener bool
	HttpPort            string
	BackendPort         string
	BackendTimeout      time.Duration
	Log                 Logger
	// contains filtered or unexported fields
}

HttpBridge Server

When Stop() is called, we try to stop sending all communication, to backends or clients. We assume that the closed TCP socket will be interpreted correctly by backends and clients. The alternative is to send an ABORT frame to backends, but that poses the risk of delaying shutdown time significantly, for no apparent gain.

func (*Server) AcceptBackendConnections

func (s *Server) AcceptBackendConnections() error

func (*Server) ListenAndServe

func (s *Server) ListenAndServe() error

func (*Server) ServeHTTP

func (s *Server) ServeHTTP(w http.ResponseWriter, req *http.Request)

By the time ServeHTTP is called, the header has been received. The body may still be busy transmitting though.

func (*Server) Stop

func (s *Server) Stop()

type TxFrame

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

func GetRootAsTxFrame

func GetRootAsTxFrame(buf []byte, offset flatbuffers.UOffsetT) *TxFrame

func (*TxFrame) Body

func (rcv *TxFrame) Body(j int) byte

func (*TxFrame) BodyBytes

func (rcv *TxFrame) BodyBytes() []byte

func (*TxFrame) BodyLength

func (rcv *TxFrame) BodyLength() int

func (*TxFrame) Channel

func (rcv *TxFrame) Channel() uint64

func (*TxFrame) Flags

func (rcv *TxFrame) Flags() byte

func (*TxFrame) Frametype

func (rcv *TxFrame) Frametype() int8

func (*TxFrame) Headers

func (rcv *TxFrame) Headers(obj *TxHeaderLine, j int) bool

func (*TxFrame) HeadersLength

func (rcv *TxFrame) HeadersLength() int

func (*TxFrame) Init

func (rcv *TxFrame) Init(buf []byte, i flatbuffers.UOffsetT)

func (*TxFrame) MutateChannel

func (rcv *TxFrame) MutateChannel(n uint64) bool

func (*TxFrame) MutateFlags

func (rcv *TxFrame) MutateFlags(n byte) bool

func (*TxFrame) MutateFrametype

func (rcv *TxFrame) MutateFrametype(n int8) bool

func (*TxFrame) MutateStream

func (rcv *TxFrame) MutateStream(n uint64) bool

func (*TxFrame) MutateVersion

func (rcv *TxFrame) MutateVersion(n int8) bool

func (*TxFrame) Stream

func (rcv *TxFrame) Stream() uint64

func (*TxFrame) Version

func (rcv *TxFrame) Version() int8

type TxHeaderLine

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

func GetRootAsTxHeaderLine

func GetRootAsTxHeaderLine(buf []byte, offset flatbuffers.UOffsetT) *TxHeaderLine

func (*TxHeaderLine) Id

func (rcv *TxHeaderLine) Id() uint16

func (*TxHeaderLine) Init

func (rcv *TxHeaderLine) Init(buf []byte, i flatbuffers.UOffsetT)

func (*TxHeaderLine) Key

func (rcv *TxHeaderLine) Key(j int) byte

func (*TxHeaderLine) KeyBytes

func (rcv *TxHeaderLine) KeyBytes() []byte

func (*TxHeaderLine) KeyLength

func (rcv *TxHeaderLine) KeyLength() int

func (*TxHeaderLine) MutateId

func (rcv *TxHeaderLine) MutateId(n uint16) bool

func (*TxHeaderLine) Value

func (rcv *TxHeaderLine) Value(j int) byte

func (*TxHeaderLine) ValueBytes

func (rcv *TxHeaderLine) ValueBytes() []byte

func (*TxHeaderLine) ValueLength

func (rcv *TxHeaderLine) ValueLength() int

Jump to

Keyboard shortcuts

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