tighttp: Tiny and Incrementally-Growing HTTP library

[ bsd3, library, network ] [ Propose Tags ]

Example programs

examples/get.hs

This is simple client. This send GET request and show page source. Run as following.

runhaskell get.hs hackage.haskell.org /packages/

extensions

  • PackageImports

import "monads-tf" Control.Monad.Trans
import Data.Pipe
import System.Environment
import Network
import Network.TigHTTP.Client
import Network.TigHTTP.Types

import qualified Data.ByteString as BS

main :: IO ()
main = do
	addr : pth : _ <- getArgs
	h <- connectTo addr $ PortNumber 80
	r <- request h $ get addr 80 pth
	_ <- runPipe $ responseBody r =$= finally printP (putStrLn "")
	return ()

printP :: MonadIO m => Pipe BS.ByteString () m ()
printP = await >>= maybe (return ()) (\s -> liftIO (BS.putStr s) >> printP)

examples/server.hs

This is simple server. This recieve client's request. And send command line arguments as response. Run as following.

runhaskell server.hs Hello World I Am TigHTTP
 import Control.Monad
 import Control.Concurrent
 import Data.Pipe
 import System.IO
 import System.Environment
 import Network
 import Network.TigHTTP.Server
 import Network.TigHTTP.Types

 import qualified Data.ByteString.Char8 as BSC
 import qualified Data.ByteString.Lazy as LBS

 main :: IO ()
 main = do
 	as <- getArgs
 	soc <- listenOn $ PortNumber 80
 	forever $ do
 		(h, _, _) <- accept soc
 		void . forkIO $ do
 			req <- getRequest h
 			print $ requestPath req
 			putResponse h
				. (response :: LBS.ByteString -> Response Pipe Handle)
				. LBS.fromChunks $ map BSC.pack as

If you want more examples. Please see examples directory.

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.0.0, 0.0.0.1, 0.0.0.2, 0.0.0.3, 0.0.0.4, 0.0.0.5, 0.0.0.6, 0.0.0.7, 0.0.0.8, 0.0.0.9, 0.0.0.10 (info)
Dependencies base (>=4 && <5), bytestring (>=0.10 && <0.11), handle-like (>=0.1 && <0.2), monads-tf (>=0.1 && <0.2), old-locale (>=1.0 && <1.1), papillon (>=0.1 && <0.2), simple-pipe (>=0.0.0 && <0.0.1), time (>=1.4 && <1.5) [details]
License BSD-3-Clause
Author Yoshikuni Jujo <PAF01143@nifty.ne.jp>
Maintainer Yoshikuni Jujo <PAF01143@nifty.ne.jp>
Category Network
Home page https://github.com/YoshikuniJujo/tighttp/wiki
Source repo head: git clone git://github.com/YoshikuniJujo/tighttp.git
this: git clone git://github.com/YoshikuniJujo/tighttp.git(tag tighttp-0.0.0.5)
Uploaded by YoshikuniJujo at 2014-12-04T02:11:06Z
Distributions
Reverse Dependencies 2 direct, 0 indirect [details]
Downloads 7368 total (27 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]