api

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2022 License: BSD-3-Clause Imports: 84 Imported by: 0

Documentation

Overview

Package api provides the functionality of the Mop client-facing HTTP API.

Index

Constants

View Source
const (
	ClusterPinHeader            = "Cluster-Pin"
	ClusterTagHeader            = "Cluster-Tag"
	ClusterEncryptHeader        = "Cluster-Encrypt"
	ClusterIndexDocumentHeader  = "Cluster-Index-Document"
	ClusterErrorDocumentHeader  = "Cluster-Error-Document"
	ClusterFeedIndexHeader      = "Cluster-Feed-Index"
	ClusterFeedIndexNextHeader  = "Cluster-Feed-Index-Next"
	ClusterCollectionHeader     = "Cluster-Collection"
	ClusterVoucherBatchIdHeader = "Cluster-Voucher-Batch-Id"
	ClusterDeferredUploadHeader = "Cluster-Deferred-Upload"
)

Variables

View Source
var Version = "0.0.0"

Version is set in the build process.

Functions

This section is empty.

Types

type ExtraOptions

type ExtraOptions struct {
	Pingpong         pingpong.Interface
	TopologyDriver   topology.Driver
	LightNodes       *lightnode.Container
	Accounting       bookkeeper.Interface
	Pseudosettle     settlement.Interface
	Swap             swap.Interface
	Chequebook       chequebook.Service
	BlockTime        *big.Int
	Tags             *tags.Tags
	Storer           storage.Storer
	Resolver         resolver.Interface
	Pss              psser.Interface
	TraversalService traverser.Traverser
	Pinning          pins.Interface
	FeedFactory      feeds.Factory
	Post             voucher.Service
	VoucherContract  vouchercontract.Interface
	PledgeContract   pledge.Service
	RewardContract   reward.Service
	Warden           warden.Interface
	SyncStatus       func() (bool, error)
}

type FileInfo

type FileInfo struct {
	Path        string
	Name        string
	ContentType string
	Size        int64
	Reader      io.Reader
}

type MopNodeMode

type MopNodeMode uint
const (
	LightMode MopNodeMode = iota
	FullMode
	DevMode
	UltraLightMode
)

func (MopNodeMode) String

func (b MopNodeMode) String() string

type Options

type Options struct {
	CORSAllowedOrigins []string
	GatewayMode        bool
	WsPingPeriod       time.Duration
	Restricted         bool
}

type Peer

type Peer struct {
	Address  cluster.Address `json:"address"`
	FullNode bool            `json:"fullNode"`
}

Peer holds information about a Peer.

type Service

type Service struct {
	Options

	http.Handler
	// contains filtered or unexported fields
}

func New

func New(publicKey, pssPublicKey ecdsa.PublicKey, bscAddress common.Address, logger log.Logger, transaction transaction.Service, batchStore voucher.Storer, gatewayMode bool, mopMode MopNodeMode, chequebookEnabled bool, swapEnabled bool, chainBackend transaction.Backend, cors []string) *Service

func (*Service) Close

func (s *Service) Close() error

Close hangs up running websockets on shutdown.

func (*Service) Configure

func (s *Service) Configure(signer crypto.Signer, auth authenticator, tracer *tracer.Tracer, o Options, e ExtraOptions, chainID int64, erc20 erc20.Service) <-chan *pusher.Op

Configure will create a and initialize a new API service.

func (*Service) Metrics

func (s *Service) Metrics() []prometheus.Collector

func (*Service) MountAPI

func (s *Service) MountAPI()

func (*Service) MountDebug

func (s *Service) MountDebug(restricted bool)

func (*Service) MountTechnicalDebug

func (s *Service) MountTechnicalDebug()

func (*Service) MustRegisterMetrics

func (s *Service) MustRegisterMetrics(cs ...prometheus.Collector)

func (*Service) SetClusterAddress

func (s *Service) SetClusterAddress(addr *cluster.Address)

func (*Service) SetP2P

func (s *Service) SetP2P(p2p p2p.DebugService)

type UpgradedResponseWriter

type UpgradedResponseWriter interface {
	http.ResponseWriter
	http.Pusher
	http.Hijacker
	http.Flusher
	// staticcheck SA1019 CloseNotifier interface is required by gorilla compress handler
	// nolint:staticcheck
	http.CloseNotifier
}

UpgradedResponseWriter adds more functionality on top of ResponseWriter

Directories

Path Synopsis
Package jsonhttp contains utility functions that make it easier to create JSON-based HTTP APIs.
Package jsonhttp contains utility functions that make it easier to create JSON-based HTTP APIs.
jsonhttptest
Package jsonhttptest helps with end-to-end testing of JSON-based HTTP APIs.
Package jsonhttptest helps with end-to-end testing of JSON-based HTTP APIs.

Jump to

Keyboard shortcuts

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