Browse Source

improve error reporting in case of leading or trailign white spaces in a quoted JID

master
Philipp Balzarek 13 years ago
parent
commit
2168283315
  1. 8
      source/Network/Xmpp/Types.hs

8
source/Network/Xmpp/Types.hs

@ -78,8 +78,8 @@ import Data.Text (Text) @@ -78,8 +78,8 @@ import Data.Text (Text)
import qualified Data.Text as Text
import Data.Typeable(Typeable)
import Data.XML.Types
import Language.Haskell.TH.Quote
import Language.Haskell.TH
import Language.Haskell.TH.Quote
import Network
import Network.DNS
import Network.TLS hiding (Version)
@ -965,7 +965,11 @@ instance Read Jid where @@ -965,7 +965,11 @@ instance Read Jid where
-- or the `parseJid' error message (see below)
jidQ :: QuasiQuoter
jidQ = QuasiQuoter { quoteExp = \s -> case jidFromText (Text.pack s) of
jidQ = QuasiQuoter { quoteExp = \s -> do
when (head s == ' ') . fail $ "Leading whitespaces in JID" ++ show s
let t = Text.pack s
when (Text.last t == ' ') . reportWarning $ "Trailing whitespace in JID " ++ show s
case jidFromText t of
Nothing -> fail $ "Could not parse JID " ++ s
Just j -> [| Jid $(mbTextE $ localpart_ j)
$(textE $ domainpart_ j)

Loading…
Cancel
Save