server

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 23, 2019 License: AGPL-3.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrorMethodNotAllowed is returned when client tries to upgrade method other than GET
	ErrorMethodNotAllowed = errors.New("Method not allowed")
)

Functions

This section is empty.

Types

type InternalServer

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

InternalServer is handle to internal http server

func NewInternalServer

func NewInternalServer(binding, certFiles string, db *db.RocksDB, chain bchain.BlockChain, txCache *db.TxCache, is *common.InternalState) (*InternalServer, error)

NewInternalServer creates new internal http interface to blockbook and returns its handle

func (*InternalServer) Close

func (s *InternalServer) Close() error

Close closes the server

func (*InternalServer) Run

func (s *InternalServer) Run() error

Run starts the server

func (*InternalServer) Shutdown

func (s *InternalServer) Shutdown(ctx context.Context) error

Shutdown shuts down the server

type PublicServer

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

PublicServer is a handle to public http server

func NewPublicServer

func NewPublicServer(binding string, certFiles string, db *db.RocksDB, chain bchain.BlockChain, txCache *db.TxCache, explorerURL string, metrics *common.Metrics, is *common.InternalState, debugMode bool) (*PublicServer, error)

NewPublicServer creates new public server http interface to blockbook and returns its handle only basic functionality is mapped, to map all functions, call

func (*PublicServer) Close

func (s *PublicServer) Close() error

Close closes the server

func (*PublicServer) ConnectFullPublicInterface added in v0.1.0

func (s *PublicServer) ConnectFullPublicInterface()

ConnectFullPublicInterface enables complete public functionality

func (*PublicServer) OnNewBlock

func (s *PublicServer) OnNewBlock(hash string, height uint32)

OnNewBlock notifies users subscribed to bitcoind/hashblock about new block

func (*PublicServer) OnNewTxAddr

func (s *PublicServer) OnNewTxAddr(tx *bchain.Tx, desc bchain.AddressDescriptor)

OnNewTxAddr notifies users subscribed to bitcoind/addresstxid about new block

func (*PublicServer) Run

func (s *PublicServer) Run() error

Run starts the server

func (*PublicServer) Shutdown

func (s *PublicServer) Shutdown(ctx context.Context) error

Shutdown shuts down the server

type SocketIoServer

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

SocketIoServer is handle to SocketIoServer

func NewSocketIoServer

func NewSocketIoServer(db *db.RocksDB, chain bchain.BlockChain, txCache *db.TxCache, metrics *common.Metrics, is *common.InternalState) (*SocketIoServer, error)

NewSocketIoServer creates new SocketIo interface to blockbook and returns its handle

func (*SocketIoServer) GetHandler

func (s *SocketIoServer) GetHandler() http.Handler

GetHandler returns socket.io http handler

func (*SocketIoServer) OnNewBlockHash

func (s *SocketIoServer) OnNewBlockHash(hash string)

OnNewBlockHash notifies users subscribed to bitcoind/hashblock about new block

func (*SocketIoServer) OnNewTxAddr

func (s *SocketIoServer) OnNewTxAddr(txid string, desc bchain.AddressDescriptor)

OnNewTxAddr notifies users subscribed to bitcoind/addresstxid about new block

type TemplateData

type TemplateData struct {
	CoinName         string
	CoinShortcut     string
	CoinLabel        string
	InternalExplorer bool
	ChainType        bchain.ChainType
	Address          *api.Address
	AddrStr          string
	Tx               *api.Tx
	Error            *api.APIError
	Blocks           *api.Blocks
	Block            *api.Block
	Info             *api.SystemInfo
	Page             int
	PrevPage         int
	NextPage         int
	PagingRange      []int
	PageParams       template.URL
	TOSLink          string
	SendTxHex        string
	Status           string
}

TemplateData is used to transfer data to the templates

type WebsocketServer added in v0.2.0

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

WebsocketServer is a handle to websocket server

func NewWebsocketServer added in v0.2.0

func NewWebsocketServer(db *db.RocksDB, chain bchain.BlockChain, txCache *db.TxCache, metrics *common.Metrics, is *common.InternalState) (*WebsocketServer, error)

NewWebsocketServer creates new websocket interface to blockbook and returns its handle

func (*WebsocketServer) GetHandler added in v0.2.0

func (s *WebsocketServer) GetHandler() http.Handler

GetHandler returns http handler

func (*WebsocketServer) OnNewBlock added in v0.2.0

func (s *WebsocketServer) OnNewBlock(hash string, height uint32)

OnNewBlock is a callback that broadcasts info about new block to subscribed clients

func (*WebsocketServer) OnNewTxAddr added in v0.2.0

func (s *WebsocketServer) OnNewTxAddr(tx *bchain.Tx, addrDesc bchain.AddressDescriptor)

OnNewTxAddr is a callback that broadcasts info about a tx affecting subscribed address

func (*WebsocketServer) ServeHTTP added in v0.2.0

func (s *WebsocketServer) ServeHTTP(w http.ResponseWriter, r *http.Request)

ServeHTTP sets up handler of websocket channel

Jump to

Keyboard shortcuts

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