http

package
v2.1.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2019 License: GPL-3.0 Imports: 20 Imported by: 0

Documentation

Overview

A simple http server interface to Swarm

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StartHttpServer

func StartHttpServer(api *api.Api, config *ServerConfig)

starts up http server

Types

type Request

type Request struct {
	http.Request
	// contains filtered or unexported fields
}

Request wraps http.Request and also includes the parsed bzz URI

type RoundTripper

type RoundTripper struct {
	Host string
	Port string
}

func (*RoundTripper) RoundTrip

func (self *RoundTripper) RoundTrip(req *http.Request) (resp *http.Response, err error)

type Server

type Server struct {
	// contains filtered or unexported fields
}

func NewServer

func NewServer(api *api.Api) *Server

func (*Server) BadRequest

func (s *Server) BadRequest(w http.ResponseWriter, r *Request, reason string)

func (*Server) Error

func (s *Server) Error(w http.ResponseWriter, r *Request, err error)

func (*Server) HandleDelete

func (s *Server) HandleDelete(w http.ResponseWriter, r *Request)

HandleDelete handles a DELETE request to bzz:/<manifest>/<path>, removes <path> from <manifest> and returns the resulting manifest hash as a text/plain response

func (*Server) HandleGetFile

func (s *Server) HandleGetFile(w http.ResponseWriter, r *Request)

HandleGetFile handles a GET request to bzz://<manifest>/<path> and responds with the content of the file at <path> from the given <manifest>

func (*Server) HandleGetFiles

func (s *Server) HandleGetFiles(w http.ResponseWriter, r *Request)

HandleGetFiles handles a GET request to bzz:/<manifest> with an Accept header of "application/x-tar" and returns a tar stream of all files contained in the manifest

func (*Server) HandleGetList

func (s *Server) HandleGetList(w http.ResponseWriter, r *Request)

HandleGetList handles a GET request to bzz:/<manifest>/<path> which has the "list" query parameter set to "true" and returns a list of all files contained in <manifest> under <path> grouped into common prefixes using "/" as a delimiter

func (*Server) HandleGetRaw

func (s *Server) HandleGetRaw(w http.ResponseWriter, r *Request)

HandleGetRaw handles a GET request to bzzr://<key> and responds with the raw content stored at the given storage key

func (*Server) HandlePostFiles

func (s *Server) HandlePostFiles(w http.ResponseWriter, r *Request)

HandlePostFiles handles a POST request (or deprecated PUT request) to bzz:/<hash>/<path> which contains either a single file or multiple files (either a tar archive or multipart form), adds those files either to an existing manifest or to a new manifest under <path> and returns the resulting manifest hash as a text/plain response

func (*Server) HandlePostRaw

func (s *Server) HandlePostRaw(w http.ResponseWriter, r *Request)

HandlePostRaw handles a POST request to a raw bzzr:/ URI, stores the request body in swarm and returns the resulting storage key as a text/plain response

func (*Server) ServeHTTP

func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request)

type ServerConfig

type ServerConfig struct {
	Addr       string
	CorsString string
}

ServerConfig is the basic configuration needed for the HTTP server and also includes CORS settings.

Jump to

Keyboard shortcuts

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