connect :: Args -> IO (Connection, Channel)
connect args = do
printparam "server" $ server args
- printparam "port" $ show $ port args
+ printparam "port" $ port args
printparam "vhost" $ vHost args
printparam "connection_name" $ connectionName args
printparam "connect timeout" $ (show (connect_timeout args)) ++ "s"
instance Flexprint (Maybe String) where
flexprint = fmap (hPutStrLn stderr)
+instance Flexprint (Maybe Int) where
+ flexprint = fmap (hPutStrLn stderr . show)
+
instance Flexprint String where
flexprint x = flexprint (Just x)
+instance Flexprint [String] where
+ flexprint = flexprint . unwords
+
+instance Flexprint Bool where
+ flexprint = flexprint . show
+
+instance Flexprint Int where
+ flexprint = flexprint . show
+
+instance Flexprint T.Text where
+ flexprint = flexprint . T.unpack
+
-- | optional or required parameters
printparam :: Flexprint a => String -> a -> IO ()
printparam labl x = printwithlabel labl $ flexprint x
else ""
(conn, chan) <- connect args
addChannelExceptionHandler chan (X.throwTo tid)
- printparam "confirm mode" $ show $ confirm args
+ printparam "confirm mode" $ confirm args
if (confirm args)
then do
confirmSelect chan False
(conn, chan) <- connect args
addChannelExceptionHandler chan (X.throwTo tid)
-- set prefetch
- printparam "prefetch" $ show $ preFetch args
+ printparam "prefetch" $ preFetch args
qos chan 0 (fromIntegral $ preFetch args) False
-- attach to given queue? or build exclusive queue and bind it?
queue <-
(tempQueue chan (tmpQName args) (bindings args) (currentExchange args))
(return)
(fmap T.pack (qName args))
- printparam "queue name" $ T.unpack queue
- printparam "shown body chars" $ fmap show $ anRiss args
+ printparam "queue name" queue
+ printparam "shown body chars" $ anRiss args
printparam "temp dir" $ tempDir args
printparam "callback" $ fileProcess args
- printparam "callback args" $ listToMaybeUnwords addiArgs
+ printparam "callback args" $ addiArgs
-- subscribe to the queue
ctag <-
consumeMsgs