[darcs-users] do we still need libwww support?

Ian Lynagh igloo at earth.li
Fri Mar 6 09:03:36 EST 2009


On Fri, Mar 06, 2009 at 08:24:32AM +0000, Eric Kow wrote:
> 
> P.S. Ian's idea for camp was to use libcurl for everything, even
>      fetching files locally or over ssh.  I'd be curious to see
>      what he does for ssh connection sharing, though 

Well, it shouldn't be such a problem for camp anyway, due to the
repository format, but the answer is that I will let curl take care of
it:

--------------------------------------------------------
module Main (main) where

import Camp.Network
import System.Environment

main :: IO ()
main = withGlobalCurl $
       withCurl $ \curl -> do
           setSSHPrivateKey curl "/home/ian/.ssh/id_rsa_haskell_darcs"
           setSSHPublicKey curl "/home/ian/.ssh/id_rsa_haskell_darcs.pub"
           setVerbosity curl True
           urls <- getArgs
           let f url = do setURL curl (mkURL url)
                          perform curl
           mapM_ f urls
--------------------------------------------------------

$ ./dl sftp://igloo@community.haskell.org/tmp/q.txt sftp://igloo@community.haskell.org/tmp/w.txt
* About to connect() to community.haskell.org port 22 (#0)
*   Trying 72.249.126.23... * connected
* Connected to community.haskell.org (72.249.126.23) port 22 (#0)
* SSH authentication methods available: publickey,keyboard-interactive
* Using ssh public key file /home/ian/.ssh/id_rsa_haskell_darcs.pub
* Using ssh private key file /home/ian/.ssh/id_rsa_haskell_darcs
* Initialized SSH public key authentication
* Authentication complete
This is q
* Connection #0 to host community.haskell.org left intact
* Re-using existing connection! (#0) with host community.haskell.org
* Connected to community.haskell.org (72.249.126.23) port 22 (#0)
This is w
* Connection #0 to host community.haskell.org left intact
* Closing connection #0
$

Curl's easy interface will cache 5 connections by default, although you
can change the number (CURLOPT_MAXCONNECTS). I don't think camp will
need more than 1, though.


Thanks
Ian




More information about the Camp mailing list