12 changed files with 100 additions and 86 deletions
@ -1,43 +0,0 @@
@@ -1,43 +0,0 @@
|
||||
{-# LANGUAGE NoMonomorphismRestriction, OverloadedStrings #-} |
||||
module Network.XMPPConduit where |
||||
|
||||
import Control.Monad |
||||
import Control.Monad.Trans |
||||
import Control.Monad.Trans.State |
||||
|
||||
import qualified Data.ByteString as BS |
||||
import Data.Text as Text |
||||
|
||||
import Network |
||||
import Network.XMPP.Monad |
||||
import Network.XMPP.TLS |
||||
import Network.XMPP.Stream |
||||
import Network.XMPP.SASL |
||||
import Network.XMPP.Types |
||||
import Network.XMPP.Bind |
||||
|
||||
|
||||
import System.IO |
||||
|
||||
fromHandle :: Handle -> Text -> Text -> Text -> Maybe Text -> IO ((), XMPPState) |
||||
fromHandle handle hostname username password resource = |
||||
xmppFromHandle handle hostname username resource $ do |
||||
xmppStartStream |
||||
-- this will check whether the server supports tls |
||||
-- on it's own |
||||
xmppStartTLS exampleParams |
||||
xmppSASL password |
||||
xmppBind |
||||
gets sResource >>= liftIO . print |
||||
gets sHaveTLS >>= liftIO . print |
||||
forever $ pullE >>= liftIO . print |
||||
return () |
||||
|
||||
main = do |
||||
con <- connectTo "localhost" (PortNumber 5222) |
||||
hSetBuffering con NoBuffering |
||||
(fs,st) <- fromHandle con "species64739.dyndns.org" "bot" "pwd" (Just "botr") |
||||
print $ sHaveTLS st |
||||
putStrLn "" |
||||
hGetContents con >>= putStrLn |
||||
|
||||
@ -0,0 +1,58 @@
@@ -0,0 +1,58 @@
|
||||
Name: xmpp-lib |
||||
Version: 0.0.0.1 |
||||
License: MIT |
||||
License-File: LICENSE |
||||
Author: Philipp Balzarek <p.balzarek@googlemail.com> |
||||
Maintainer: Philipp Balzarek <p.balzarek@googlemail.com> |
||||
Category: Network |
||||
Copyright: (c) 2012 Philipp Balzarek |
||||
Stability: Experimental |
||||
Cabal-version: >=1.6 |
||||
Tested-with: GHC==7.4.1 |
||||
Build-type: Simple |
||||
Bug-reports: mailto: p.balzarek@googlemail.com |
||||
Extra-source-files: README |
||||
|
||||
Synopsis: Haskell XMPP (eXtensible Message Passing Protocol, a.k.a. Jabber) library |
||||
Description: Haskell XMPP (eXtensible Message Passing Protocol, a.k.a. Jabber) library |
||||
. |
||||
This library is not yet stable |
||||
|
||||
source-repository head |
||||
type: git |
||||
location: https://github.com/Philonous/xmpp-lib |
||||
|
||||
library |
||||
hs-source-dirs: src |
||||
Build-Depends: base >3 && <5 |
||||
, conduit -any |
||||
, random -any |
||||
, hexpat -any |
||||
, hexpat-pickle -any |
||||
, tls -any |
||||
, tls-extra -any |
||||
, pureMD5 -any |
||||
, base64-bytestring -any |
||||
, binary -any |
||||
, attoparsec -any |
||||
, crypto-api -any |
||||
, text -any |
||||
, bytestring -any |
||||
, transformers -any |
||||
, network -any |
||||
, split -any |
||||
, stm -any |
||||
Exposed-modules: Network.XMPP |
||||
, Network.XMPP.Types |
||||
, Network.XMPP.SASL |
||||
, Network.XMPP.Stream |
||||
, Network.XMPP.Pickle |
||||
, Network.XMPP.Marshal |
||||
, Network.XMPP.Monad |
||||
, Network.XMPP.Concurrent |
||||
, Network.XMPP.TLS |
||||
, Network.XMPP.Bind |
||||
, Network.XMPP.Session |
||||
, Data.Conduit.Hexpat |
||||
, Data.Conduit.TLS |
||||
GHC-Options: -Wall |
||||
Loading…
Reference in new issue