corehttp

package
v0.4.2 Latest Latest
Warning

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

Go to latest
Published: May 17, 2016 License: MIT Imports: 37 Imported by: 0

Documentation

Overview

Package corehttp provides utilities for the webui, gateways, and other high-level HTTP interfaces to IPFS.

Index

Constants

View Source
const WebUIPath = "/ipfs/QmU3o9bvfenhTKhxUakbYrLDnZU7HezAVxPM6Ehjw9Xjqy"

TODO: move to IPNS

Variables

View Source
var WebUIOption = RedirectOption("webui", WebUIPath)
View Source
var WebUIPaths = []string{
	WebUIPath,
	"/ipfs/QmXX7YRpU7nNBKfw75VG7Y1c3GwpSAGHRev67XVPgZFv9R",
	"/ipfs/QmXdu7HWdV6CUaUabd9q2ZeA4iHZLVyDRj3Gi4dsJsWjbr",
	"/ipfs/QmaaqrHyAQm7gALkRW8DcfGX3u8q9rWKnxEMmf7m9z515w",
	"/ipfs/QmSHDxWsMPuJQKWmVA1rB5a3NX2Eme5fPqNb63qwaqiqSp",
	"/ipfs/QmctngrQAt9fjpQUZr7Bx3BsXUcif52eZGTizWhvcShsjz",
	"/ipfs/QmS2HL9v5YeKgQkkWMvs1EMnFtUowTEdFfSSeMT4pos1e6",
	"/ipfs/QmR9MzChjp1MdFWik7NjEjqKQMzVmBkdK3dz14A6B5Cupm",
	"/ipfs/QmRyWyKWmphamkMRnJVjUTzSFSAAZowYP4rnbgnfMXC9Mr",
}

this is a list of all past webUI paths.

Functions

func ListenAndServe

func ListenAndServe(n *core.IpfsNode, listeningMultiAddr string, options ...ServeOption) error

ListenAndServe runs an HTTP server listening at |listeningMultiAddr| with the given serve options. The address must be provided in multiaddr format.

TODO intelligently parse address strings in other formats so long as they unambiguously map to a valid multiaddr. e.g. for convenience, ":8080" should map to "/ip4/0.0.0.0/tcp/8080".

func Serve added in v0.3.5

func Serve(node *core.IpfsNode, lis net.Listener, options ...ServeOption) error

Types

type BlockList

type BlockList struct {
	Decider Decider
	// contains filtered or unexported fields
}

func (*BlockList) SetDecider

func (b *BlockList) SetDecider(d Decider)

SetDecider atomically swaps the blocklist's decider. This method is thread-safe.

func (*BlockList) ShouldAllow

func (b *BlockList) ShouldAllow(s string) bool

func (*BlockList) ShouldBlock

func (b *BlockList) ShouldBlock(s string) bool

type Decider

type Decider func(string) bool

Decider decides whether to Allow string

type Gateway

type Gateway struct {
	Config GatewayConfig
}

Gateway should be instantiated using NewGateway

func NewGateway

func NewGateway(conf GatewayConfig) *Gateway

func (*Gateway) ServeOption

func (g *Gateway) ServeOption() ServeOption

type GatewayConfig

type GatewayConfig struct {
	Headers      map[string][]string
	BlockList    *BlockList
	Writable     bool
	PathPrefixes []string
}

type IpfsNodeCollector added in v0.4.1

type IpfsNodeCollector struct {
	Node *core.IpfsNode
}

func (IpfsNodeCollector) Collect added in v0.4.1

func (c IpfsNodeCollector) Collect(ch chan<- prometheus.Metric)

func (IpfsNodeCollector) Describe added in v0.4.1

func (_ IpfsNodeCollector) Describe(ch chan<- *prometheus.Desc)

func (IpfsNodeCollector) PeersTotalValue added in v0.4.1

func (c IpfsNodeCollector) PeersTotalValue() float64

type ServeOption

type ServeOption func(*core.IpfsNode, net.Listener, *http.ServeMux) (*http.ServeMux, error)

ServeOption registers any HTTP handlers it provides on the given mux. It returns the mux to expose to future options, which may be a new mux if it is interested in mediating requests to future options, or the same mux initially passed in if not.

func CommandsOption

func CommandsOption(cctx commands.Context) ServeOption

func CommandsROOption added in v0.3.8

func CommandsROOption(cctx commands.Context) ServeOption

func GatewayOption

func GatewayOption(writable bool, prefixes []string) ServeOption

func IPNSHostnameOption

func IPNSHostnameOption() ServeOption

IPNSHostnameOption rewrites an incoming request if its Host: header contains an IPNS name. The rewritten request points at the resolved name on the gateway handler.

func LogOption added in v0.3.6

func LogOption() ServeOption

func MetricsCollectionOption added in v0.4.1

func MetricsCollectionOption(handlerName string) ServeOption

This adds collection of net/http-related metrics

func MetricsScrapingOption added in v0.4.1

func MetricsScrapingOption(path string) ServeOption

This adds the scraping endpoint which Prometheus uses to fetch metrics.

func RedirectOption

func RedirectOption(path string, redirect string) ServeOption

func VersionOption

func VersionOption() ServeOption

Jump to

Keyboard shortcuts

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