Documentation
¶
Overview ¶
Package api provides the functionality of the Bee client-facing HTTP API.
Copyright 2023 The Swarm Authors. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.
Index ¶
- Constants
- Variables
- type BeeNodeMode
- type BlockListedPeer
- type ExtraOptions
- type FileInfo
- type Options
- type Peer
- type Probe
- type ProbeStatus
- type RCHashResponse
- type Service
- func (s *Service) Close() error
- func (s *Service) Configure(signer crypto.Signer, auth auth.Authenticator, tracer *tracing.Tracer, ...)
- func (s *Service) Metrics() []prometheus.Collector
- func (s *Service) MetricsRegistry() *prometheus.Registry
- func (s *Service) MountAPI()
- func (s *Service) MountDebug(restricted bool)
- func (s *Service) MountTechnicalDebug()
- func (s *Service) MustRegisterMetrics(cs ...prometheus.Collector)
- func (s *Service) SetP2P(p2p p2p.DebugService)
- func (s *Service) SetProbe(probe *Probe)
- func (s *Service) SetRedistributionAgent(redistributionAgent *storageincentives.Agent)
- func (s *Service) SetSwarmAddress(addr *swarm.Address)
- type Storer
- type UpgradedResponseWriter
Constants ¶
const ( SwarmPinHeader = "Swarm-Pin" SwarmTagHeader = "Swarm-Tag" SwarmEncryptHeader = "Swarm-Encrypt" SwarmIndexDocumentHeader = "Swarm-Index-Document" SwarmErrorDocumentHeader = "Swarm-Error-Document" SwarmFeedIndexHeader = "Swarm-Feed-Index" SwarmFeedIndexNextHeader = "Swarm-Feed-Index-Next" SwarmCollectionHeader = "Swarm-Collection" SwarmPostageBatchIdHeader = "Swarm-Postage-Batch-Id" SwarmDeferredUploadHeader = "Swarm-Deferred-Upload" ImmutableHeader = "Immutable" GasPriceHeader = "Gas-Price" GasLimitHeader = "Gas-Limit" ETagHeader = "ETag" AuthorizationHeader = "Authorization" AcceptEncodingHeader = "Accept-Encoding" ContentTypeHeader = "Content-Type" ContentDispositionHeader = "Content-Disposition" ContentLengthHeader = "Content-Length" RangeHeader = "Range" OriginHeader = "Origin" )
Variables ¶
var DebugVersion = "0.0.0"
var Version = "0.0.0"
Version is set in the build process.
Functions ¶
This section is empty.
Types ¶
type BeeNodeMode ¶
type BeeNodeMode uint
const ( UnknownMode BeeNodeMode = iota LightMode FullMode DevMode UltraLightMode )
func (BeeNodeMode) String ¶
func (b BeeNodeMode) String() string
type BlockListedPeer ¶
type ExtraOptions ¶
type ExtraOptions struct {
Pingpong pingpong.Interface
TopologyDriver topology.Driver
LightNodes *lightnode.Container
Accounting accounting.Interface
Pseudosettle settlement.Interface
Swap swap.Interface
Chequebook chequebook.Service
BlockTime time.Duration
Storer Storer
Resolver resolver.Interface
Pss pss.Interface
FeedFactory feeds.Factory
Post postage.Service
PostageContract postagecontract.Interface
Staking staking.Contract
Steward steward.Interface
SyncStatus func() (bool, error)
NodeStatus *status.Service
}
type Probe ¶
type Probe struct {
// contains filtered or unexported fields
}
Probe structure holds flags which indicate node healthiness (sometimes refert also as liveness) and readiness.
func (*Probe) Healthy ¶
func (p *Probe) Healthy() ProbeStatus
Healthy returns the value of the healthy status.
func (*Probe) Ready ¶
func (p *Probe) Ready() ProbeStatus
Ready returns the value of the ready status.
func (*Probe) SetHealthy ¶
func (p *Probe) SetHealthy(ps ProbeStatus)
SetHealthy updates the value of the healthy status.
func (*Probe) SetReady ¶
func (p *Probe) SetReady(ps ProbeStatus)
SetReady updates the value of the ready status.
type ProbeStatus ¶
type ProbeStatus int32
ProbeStatus is the status of a probe. ProbeStatus is treated as a sync/atomic int32.
const ( // ProbeStatusOK indicates positive ProbeStatus status. ProbeStatusOK ProbeStatus = 1 // ProbeStatusNOK indicates negative ProbeStatus status. ProbeStatusNOK ProbeStatus = 0 )
func (ProbeStatus) String ¶
func (ps ProbeStatus) String() string
String implements the fmt.Stringer interface.
type RCHashResponse ¶
type RCHashResponse storageincentives.SampleWithProofs
type Service ¶
func New ¶
func New( publicKey, pssPublicKey ecdsa.PublicKey, ethereumAddress common.Address, logger log.Logger, transaction transaction.Service, batchStore postage.Storer, beeMode BeeNodeMode, chequebookEnabled bool, swapEnabled bool, chainBackend transaction.Backend, cors []string, stamperStore storage.Store, ) *Service
func (*Service) Configure ¶
func (s *Service) Configure(signer crypto.Signer, auth auth.Authenticator, tracer *tracing.Tracer, o Options, e ExtraOptions, chainID int64, erc20 erc20.Service)
Configure will create a and initialize a new API service.
func (*Service) Metrics ¶
func (s *Service) Metrics() []prometheus.Collector
func (*Service) MetricsRegistry ¶
func (s *Service) MetricsRegistry() *prometheus.Registry
func (*Service) MountDebug ¶
func (*Service) MountTechnicalDebug ¶
func (s *Service) MountTechnicalDebug()
func (*Service) MustRegisterMetrics ¶
func (s *Service) MustRegisterMetrics(cs ...prometheus.Collector)
func (*Service) SetP2P ¶
func (s *Service) SetP2P(p2p p2p.DebugService)
func (*Service) SetRedistributionAgent ¶
func (s *Service) SetRedistributionAgent(redistributionAgent *storageincentives.Agent)
func (*Service) SetSwarmAddress ¶
type Storer ¶
type Storer interface {
storer.UploadStore
storer.PinStore
storer.CacheStore
storer.NetStore
storer.LocalStore
storer.RadiusChecker
storer.Debugger
}
Storer interface provides the functionality required from the local storage component of the node.
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
Source Files
¶
- accounting.go
- api.go
- balances.go
- bytes.go
- bzz.go
- chequebook.go
- chunk.go
- chunk_address.go
- chunk_stream.go
- debugstorage.go
- dirs.go
- feed.go
- health.go
- logger.go
- metrics.go
- node.go
- p2p.go
- peer.go
- pin.go
- pingpong.go
- postage.go
- probe.go
- pss.go
- rchash.go
- readiness.go
- redistribution.go
- router.go
- settlements.go
- soc.go
- staking.go
- status.go
- stewardship.go
- subdomain.go
- tag.go
- topology.go
- transaction.go
- util.go
- version.go
- wallet.go
- welcome_message.go