couchserver

package
v3.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2020 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package couchserver aims to provide a CouchDB-compatible HTTP server interface to a kivik.Client.

Index

Constants

View Source
const CompatVersion = "0.0.0"

CompatVersion is the default CouchDB compatibility provided by this package.

Variables

This section is empty.

Functions

func Asset

func Asset(name string) ([]byte, error)

Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetDir

func AssetDir(name string) ([]string, error)

AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

data/
  foo.txt
  img/
    a.png
    b.png

then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.

func AssetInfo

func AssetInfo(name string) (os.FileInfo, error)

AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

func AssetNames

func AssetNames() []string

AssetNames returns the names of the assets.

func DB

func DB(r *http.Request) string

DB returns the db name in this request, or "" if none.

func MustAsset

func MustAsset(name string) []byte

MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

func RestoreAsset

func RestoreAsset(dir, name string) error

RestoreAsset restores an asset under the given directory

func RestoreAssets

func RestoreAssets(dir, name string) error

RestoreAssets restores an asset under the given directory recursively

Types

type Handler

type Handler struct {

	// CompatVersion is the CouchDB compatibility version to report. If unset,
	// defaults to the CompatVersion constant/.
	CompatVersion string
	// Vendor is the vendor name to report. If unset, defaults to the
	// kivik.Vendor constant.
	Vendor string
	// VendorVersion is the vendor version to report. If unset, defaults to the
	// kivik.VendorVersion constant.
	VendorVersion string
	Logger        *log.Logger
	// Favicon is the path to a favicon.ico to serve.
	Favicon string
	// SessionKey is a temporary solution to avoid import cycles. Soon I will move the key to another package.
	SessionKey interface{}
	// contains filtered or unexported fields
}

Handler is a CouchDB server handler.

func NewHandler

func NewHandler(client *kivik.Client) *Handler

func (*Handler) Flush

func (h *Handler) Flush() http.HandlerFunc

Flush handles POST /{db}/_ensure_full_commit

func (*Handler) GetAllDBs

func (h *Handler) GetAllDBs() http.HandlerFunc

GetAllDBs handles GET /_all_dbs

func (*Handler) GetDB

func (h *Handler) GetDB() http.HandlerFunc

GetDB handles GET /{db}

func (*Handler) GetFavicon

func (h *Handler) GetFavicon() http.HandlerFunc

GetFavicon serves GET /favicon.ico

func (*Handler) GetRoot

func (h *Handler) GetRoot() http.HandlerFunc

GetRoot handles requests for: GET /

func (*Handler) GetSession

func (h *Handler) GetSession() http.HandlerFunc

GetSession serves GET /_session

func (*Handler) HandleError

func (h *Handler) HandleError(w http.ResponseWriter, err error)

HandleError returns a CouchDB-formatted error. It does nothing if err is nil.

func (*Handler) HeadDB

func (h *Handler) HeadDB() http.HandlerFunc

HeadDB handles HEAD /{db}

func (*Handler) Main

func (h *Handler) Main() http.Handler

Main returns an http.Handler to handle all CouchDB endpoints.

func (*Handler) PutDB

func (h *Handler) PutDB() http.HandlerFunc

PutDB handles PUT /{db}

Jump to

Keyboard shortcuts

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