second-transfer: Second Transfer HTTP/2 web server

[ bsd3, library, network ] [ Propose Tags ]

Second Transfer HTTP/2 web server


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
debug

Enable debug support

Disabled
enable-botan

Enable Botan (No TLS support without this)

Disabled
misc-executables

Compile helpers for development

Disabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.2.0.0, 0.3.0.2, 0.3.0.3, 0.3.0.4, 0.4.0.0, 0.5.0.0, 0.5.2.2, 0.5.3.1, 0.5.3.2, 0.5.4.0, 0.5.5.0, 0.5.5.1, 0.6.0.0, 0.6.1.0, 0.7.1.0, 0.10.0.1, 0.10.0.2, 0.10.0.4
Change log changelog.md
Dependencies attoparsec (>=0.12), base (>=4.7 && <=4.9), base16-bytestring (>=0.1.1), binary (>=0.7.1.0), BoundedChan (>=1.0.3), bytestring (>=0.10.4), clock (>=0.6), conduit (>=1.2.4 && <1.3), containers (>=0.5.5), deepseq (>=1.4.1), exceptions (>=0.8 && <0.9), hashable (>=1.2), hashtables (>=1.2 && <1.3), http2 (>=1.0.2 && <1.4), lens (>=4.7), mmorph (>=1.0), network (>=2.6 && <2.7), network-uri (>=2.6 && <2.7), pqueue (>=1.3.0), resourcet (>=1.1), stm (>=2.3), text (>=1.2 && <1.3), time (>=1.5.0 && <1.8), transformers (>=0.3 && <=0.5), vector (>=0.10 && <0.13), vector-algorithms (>=0.7) [details]
License BSD-3-Clause
Copyright Copyright 2015, Alcides Viamontes Esquivel
Author Alcides Viamontes Esquivel
Maintainer alcidesv@zunzun.se
Category Network
Home page https://www.httptwo.com/second-transfer/
Bug tracker https://github.com/alcidesv/second-transfer/issues
Source repo head: git clone git@github.com:alcidesv/second-transfer.git
this: git clone git@github.com:alcidesv/second-transfer.git(tag v0.10.0.4)
Uploaded by dsign at 2016-02-27T08:52:22Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 10606 total (43 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for second-transfer-0.10.0.4

[back to package description]

Developer README

Introduction

This is a library for creating HTTP/2 servers.

To see some introductory docs, please check the Hackage page or the file hs-src/SecondTransfer.hs.

Supported platforms

At the moment, we support both Linux and Mac OS X. We haven't tested the library in Windows, but off the top of my head I can not think on any too Unix specific thing that we are using.

Building and installing

The preferred method of installing SecondTransfer is through Stack. SecondTransfer uses Botan for its TLS layer, but the default build disables the library to play nice with Stack's build servers. Enable it by installing Botan in your preferred location, switching on the flag enable-botan (you can do that in your stack.yaml file) and adjusting the necessary include directories (through extra-include-dirs and extra-lib-dirs, also in stack.yaml).

We use a extensible TLS mechanism, so if you would rather use a recent version of OpenSSL, look for the typeclass TLSContext and implement it.

Running the tests

There are two sets of tests: normal Haskell tests and a custom test suite called Suite 1 that requires Stack, Python 3.4+, Redis running in localhost/standard port with DB 3 erasable, and Numpy. To run Suite 1, SecondTransfer should be compiled with the "Monitoring" flag enabled.

Example

There is a very basic example at tests/tests-hs-src/compiling_ok.hs, and a somewhat more complicated one at examples/attempt_bust; that one shows how to do HTTP/2.0 push from the library.

Development

Uploading documentation (provided you have access to the package in Hackage):

$ ./hackage-upload-docs.sh second-transfer 0.5.4.0 <hackage-user> <hackage-password>