Documentation ¶
Overview ¶
Package couchserver aims to provide a CouchDB-compatible HTTP server interface to a kivik.Client.
Index ¶
- Constants
- func Asset(name string) ([]byte, error)
- func AssetDir(name string) ([]string, error)
- func AssetInfo(name string) (os.FileInfo, error)
- func AssetNames() []string
- func DB(r *http.Request) string
- func MustAsset(name string) []byte
- func RestoreAsset(dir, name string) error
- func RestoreAssets(dir, name string) error
- type Handler
- func (h *Handler) Flush() http.HandlerFunc
- func (h *Handler) GetAllDBs() http.HandlerFunc
- func (h *Handler) GetDB() http.HandlerFunc
- func (h *Handler) GetFavicon() http.HandlerFunc
- func (h *Handler) GetRoot() http.HandlerFunc
- func (h *Handler) GetSession() http.HandlerFunc
- func (h *Handler) HandleError(w http.ResponseWriter, err error)
- func (h *Handler) HeadDB() http.HandlerFunc
- func (h *Handler) Main() http.Handler
- func (h *Handler) PutDB() http.HandlerFunc
Constants ¶
const CompatVersion = "0.0.0"
CompatVersion is the default CouchDB compatibility provided by this package.
Variables ¶
This section is empty.
Functions ¶
func Asset ¶
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 ¶
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 ¶
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 MustAsset ¶
MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.
func RestoreAsset ¶
RestoreAsset restores an asset under the given directory
func RestoreAssets ¶
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) 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.