Developer README
================
Introduction
------------
This is an early-stage and very experimental library to create HTTP/2 servers
using Haskell.
To see the package docs, please check the Hackage page or
the file hs-src/SecondTransfer.hs.
Building and installing
-----------------------
You need Haskell GHC compiler installed (version 7.8.3 at least). You also
need OpenSSL 1.0.2, since the ALPN feature and some very recent cypher-suites
are needed by HTTP/2. this source distribution will try to find them at
directory `/opt/openssl-1.0.2`, but you should be able to
alter the options using `cabal configure`. This package uses Haskell's FFI to interface with OpenSSL.
Provided that you have all the dependencies, you should be able to just do:
$ cabal install second-transfer
Running the tests
-----------------
$ cabal test
Debugging complicated scenarios
-------------------------------
To access full debugging capabilities, for example from the test suite, use the
following command from the project's directory:
$ cabal exec -- ghci -ihs-src -itests/tests-hs-src -itests/support -XCPP -Imacros/ dist/build/cbits/tlsinc.o
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>