Documentation ¶
Overview ¶
Package corehttp provides utilities for the webui, gateways, and other high-level HTTP interfaces to IPFS.
Index ¶
- Constants
- Variables
- func ListenAndServe(n *core.IpfsNode, listeningMultiAddr string, options ...ServeOption) error
- func Serve(node *core.IpfsNode, lis net.Listener, options ...ServeOption) error
- type GatewayConfig
- type IpfsNodeCollector
- type ServeOption
- func CheckVersionOption() ServeOption
- func CommandsOption(cctx oldcmds.Context) ServeOption
- func CommandsROOption(cctx oldcmds.Context) ServeOption
- func GatewayOption(writable bool, paths ...string) ServeOption
- func IPNSHostnameOption() ServeOption
- func LogOption() ServeOption
- func MetricsCollectionOption(handlerName string) ServeOption
- func MetricsScrapingOption(path string) ServeOption
- func MutexFractionOption(path string) ServeOption
- func ProxyOption() ServeOption
- func RedirectOption(path string, redirect string) ServeOption
- func VersionOption() ServeOption
Constants ¶
const APIPath = "/api/v0"
APIPath is the path at which the API is mounted.
const WebUIPath = "/ipfs/QmUnXcWZC5Ve21gUseouJsH5mLAyz5JPp8aHsg8qVUUK8e"
TODO: move to IPNS
Variables ¶
var WebUIOption = RedirectOption("webui", WebUIPath)
var WebUIPaths = []string{ WebUIPath, "/ipfs/QmSDgpiHco5yXdyVTfhKxr3aiJ82ynz8V14QcGKicM3rVh", "/ipfs/QmRuvWJz1Fc8B9cTsAYANHTXqGmKR9DVfY5nvMD1uA2WQ8", "/ipfs/QmQLXHs7K98JNQdWrBB2cQLJahPhmupbDjRuH1b9ibmwVa", "/ipfs/QmXX7YRpU7nNBKfw75VG7Y1c3GwpSAGHRev67XVPgZFv9R", "/ipfs/QmXdu7HWdV6CUaUabd9q2ZeA4iHZLVyDRj3Gi4dsJsWjbr", "/ipfs/QmaaqrHyAQm7gALkRW8DcfGX3u8q9rWKnxEMmf7m9z515w", "/ipfs/QmSHDxWsMPuJQKWmVA1rB5a3NX2Eme5fPqNb63qwaqiqSp", "/ipfs/QmctngrQAt9fjpQUZr7Bx3BsXUcif52eZGTizWhvcShsjz", "/ipfs/QmS2HL9v5YeKgQkkWMvs1EMnFtUowTEdFfSSeMT4pos1e6", "/ipfs/QmR9MzChjp1MdFWik7NjEjqKQMzVmBkdK3dz14A6B5Cupm", "/ipfs/QmRyWyKWmphamkMRnJVjUTzSFSAAZowYP4rnbgnfMXC9Mr", "/ipfs/QmU3o9bvfenhTKhxUakbYrLDnZU7HezAVxPM6Ehjw9Xjqy", "/ipfs/QmPhnvn747LqwPYMJmQVorMaGbMSgA7mRRoyyZYz3DoZRQ", }
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".
Types ¶
type GatewayConfig ¶
type IpfsNodeCollector ¶
func (IpfsNodeCollector) Collect ¶
func (c IpfsNodeCollector) Collect(ch chan<- prometheus.Metric)
func (IpfsNodeCollector) Describe ¶
func (_ IpfsNodeCollector) Describe(ch chan<- *prometheus.Desc)
func (IpfsNodeCollector) PeersTotalValues ¶
func (c IpfsNodeCollector) PeersTotalValues() map[string]float64
type ServeOption ¶
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 CheckVersionOption ¶
func CheckVersionOption() ServeOption
CheckVersionOption returns a ServeOption that checks whether the client ipfs version matches. Does nothing when the user agent string does not contain `/go-ipfs/`
func CommandsOption ¶
func CommandsOption(cctx oldcmds.Context) ServeOption
CommandsOption constructs a ServerOption for hooking the commands into the HTTP server.
func CommandsROOption ¶
func CommandsROOption(cctx oldcmds.Context) ServeOption
CommandsROOption constructs a ServerOption for hooking the read-only commands into the HTTP server.
func GatewayOption ¶
func GatewayOption(writable bool, paths ...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 ¶
func LogOption() ServeOption
func MetricsCollectionOption ¶
func MetricsCollectionOption(handlerName string) ServeOption
This adds collection of net/http-related metrics
func MetricsScrapingOption ¶
func MetricsScrapingOption(path string) ServeOption
This adds the scraping endpoint which Prometheus uses to fetch metrics.
func MutexFractionOption ¶
func MutexFractionOption(path string) ServeOption
MutexFractionOption allows to set runtime.SetMutexProfileFraction via HTTP using POST request with parameter 'fraction'.
func ProxyOption ¶
func ProxyOption() ServeOption
ProxyOption is an endpoint for proxying a HTTP request to another ipfs peer
func RedirectOption ¶
func RedirectOption(path string, redirect string) ServeOption
func VersionOption ¶
func VersionOption() ServeOption