couchserver

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2017 License: Apache-2.0 Imports: 11 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 DB

func DB(r *http.Request) string

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

Types

type Handler

type Handler struct {
	Client *kivik.Client
	// 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{}
}

Handler is a CouchDB server 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) 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