mellon-web: A REST web service for Mellon controllers
This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.
The mellon-web
package wraps a mellon-core
controller in a REST
web service, making it possible to control physical access devices
from an HTTP client. The package includes both a WAI application
server, and native Haskell client bindings for the service.
Like the mellon-core
controller interface, the mellon-web
REST API
is quite simple. There are only 3 methods:
GET /time
returns the system time on the server. This is made available for diagnostic purposes, primarily to ensure the server has an accurate clock.GET /state
returns the controller's current state (eitherLocked
orUnlocked date
wheredate
is the UTC time at which the controller will automatically lock again).PUT /state
sets the controller's current state. Use this method to lock and unlock the controller.
For detailed documentation, the server includes a self-documenting Swagger spec.
Note that the mellon-web
server does not provide an authentication
mechanism! You should proxy it behind a secure, authenticating HTTPS
server such as Nginx.
[Skip to Readme]
Properties
Versions | 0.7.0.1, 0.7.0.3, 0.7.1.0, 0.7.1.1, 0.8.0.2, 0.8.0.3, 0.8.0.4, 0.8.0.5, 0.8.0.6, 0.8.0.6, 0.8.0.7 |
---|---|
Change log | changelog.md |
Dependencies | aeson (>=0.11 && <1.3), aeson-pretty (>=0.8 && <0.9), base (>=4.8 && <5), bytestring (>=0.10 && <0.11), exceptions (>=0.8.0 && <1), fail (>=4.9 && <4.10), hpio (>=0.8 && <1), http-client (>=0.4 && <0.6), http-client-tls (>=0.3 && <0.4), http-types (>=0.9 && <0.10), lens (>=4 && <5), lucid (>=2.9 && <2.10), mellon-core, mellon-gpio, mellon-web, mtl (>=2.1.3 && <2.3), network, optparse-applicative (>=0.11.0 && <0.15), protolude (>=0.2 && <0.3), semigroups (>=0.18 && <0.19), servant (>=0.11 && <0.12), servant-client (>=0.11 && <0.12), servant-docs (>=0.10 && <0.12), servant-lucid (>=0.7 && <0.8), servant-server (>=0.11 && <0.12), servant-swagger (>=1.1 && <1.2), servant-swagger-ui (>=0.2 && <0.3), swagger2 (>=2.1 && <2.3), text (>=1.2 && <1.3), time (>=1.5 && <2), transformers (>=0.4.2 && <0.6), wai (>=3.2 && <3.3), warp (>=3.2 && <3.3) [details] |
License | BSD-3-Clause |
Copyright | Copyright (c) 2018, Quixoftic, LLC |
Author | Drew Hess <dhess-src@quixoftic.com> |
Maintainer | Drew Hess <dhess-src@quixoftic.com> |
Category | Web |
Home page | https://github.com/quixoftic/mellon#readme |
Bug tracker | https://github.com/quixoftic/mellon/issues |
Source repo | head: git clone https://github.com/quixoftic/mellon |
Uploaded | by dhess at 2018-02-05T00:43:46Z |
Modules
[Index]
Flags
Manual Flags
Name | Description | Default |
---|---|---|
client-unlock-example | Build the unlock client example | Enabled |
enable-timing-sensitive-tests | Enable tests that are timing-sensitive (may fail on loaded machines like CI servers) | Disabled |
gpio-example | Build the GPIO server example | Enabled |
mock-example | Build the mock server example | Enabled |
test-doctests | Build doctests | Enabled |
test-hlint | Build hlint test | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- mellon-web-0.8.0.6.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
Package maintainers
For package maintainers and hackage trustees