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