{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (garetxe@gmail.com) -} module GI.Soup.Functions ( -- * Methods -- ** cookieParse cookieParse , -- ** cookiesFromRequest cookiesFromRequest , -- ** cookiesFromResponse cookiesFromResponse , -- ** cookiesToCookieHeader cookiesToCookieHeader , -- ** cookiesToRequest cookiesToRequest , -- ** cookiesToResponse cookiesToResponse , -- ** formDecode formDecode , -- ** formDecodeMultipart formDecodeMultipart , -- ** formEncodeDatalist formEncodeDatalist , -- ** formEncodeHash formEncodeHash , -- ** formRequestNewFromDatalist formRequestNewFromDatalist , -- ** formRequestNewFromHash formRequestNewFromHash , -- ** formRequestNewFromMultipart formRequestNewFromMultipart , -- ** headerContains headerContains , -- ** headerFreeParamList headerFreeParamList , -- ** headerGStringAppendParam headerGStringAppendParam , -- ** headerGStringAppendParamQuoted headerGStringAppendParamQuoted , -- ** headerParseList headerParseList , -- ** headerParseParamList headerParseParamList , -- ** headerParseQualityList headerParseQualityList , -- ** headerParseSemiParamList headerParseSemiParamList , -- ** headersParse headersParse , -- ** headersParseRequest headersParseRequest , -- ** headersParseResponse headersParseResponse , -- ** headersParseStatusLine headersParseStatusLine , -- ** httpErrorQuark httpErrorQuark , -- ** messageHeadersIterInit messageHeadersIterInit , -- ** requestErrorQuark requestErrorQuark , -- ** requesterErrorQuark requesterErrorQuark , -- ** statusGetPhrase statusGetPhrase , -- ** statusProxify statusProxify , -- ** strCaseEqual strCaseEqual , -- ** strCaseHash strCaseHash , -- ** tldDomainIsPublicSuffix tldDomainIsPublicSuffix , -- ** tldErrorQuark tldErrorQuark , -- ** tldGetBaseDomain tldGetBaseDomain , -- ** uriDecode uriDecode , -- ** uriEncode uriEncode , -- ** uriNormalize uriNormalize , -- ** valueArrayNew valueArrayNew , -- ** websocketClientPrepareHandshake websocketClientPrepareHandshake , -- ** websocketClientVerifyHandshake websocketClientVerifyHandshake , -- ** websocketErrorGetQuark websocketErrorGetQuark , -- ** websocketServerCheckHandshake websocketServerCheckHandshake , -- ** websocketServerProcessHandshake websocketServerProcessHandshake , -- ** xmlrpcBuildMethodCall xmlrpcBuildMethodCall , -- ** xmlrpcBuildMethodResponse xmlrpcBuildMethodResponse , -- ** xmlrpcErrorQuark xmlrpcErrorQuark , -- ** xmlrpcFaultQuark xmlrpcFaultQuark , -- ** xmlrpcParseMethodCall xmlrpcParseMethodCall , -- ** xmlrpcParseMethodResponse xmlrpcParseMethodResponse , ) where import Prelude () import Data.GI.Base.ShortPrelude import qualified Data.Text as T import qualified Data.ByteString.Char8 as B import qualified Data.Map as Map import GI.Soup.Types import GI.Soup.Callbacks import qualified GI.GLib as GLib import qualified GI.GObject as GObject -- function soup_xmlrpc_parse_method_response -- Args : [Arg {argName = "method_response", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "method_response", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : True -- Skip return : False foreign import ccall "soup_xmlrpc_parse_method_response" soup_xmlrpc_parse_method_response :: CString -> -- method_response : TBasicType TUTF8 Int32 -> -- length : TBasicType TInt32 Ptr GValue -> -- value : TInterface "GObject" "Value" Ptr (Ptr GError) -> -- error IO CInt xmlrpcParseMethodResponse :: (MonadIO m) => T.Text -> -- method_response Int32 -> -- length m (GValue) xmlrpcParseMethodResponse method_response length_ = liftIO $ do method_response' <- textToCString method_response value <- callocBoxedBytes 24 :: IO (Ptr GValue) onException (do _ <- propagateGError $ soup_xmlrpc_parse_method_response method_response' length_ value value' <- (wrapBoxed GValue) value freeMem method_response' return value' ) (do freeMem method_response' freeMem value ) -- function soup_xmlrpc_parse_method_call -- Args : [Arg {argName = "method_call", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "params", argType = TInterface "GObject" "ValueArray", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}] -- Lengths : [] -- hInArgs : [Arg {argName = "method_call", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "length", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "soup_xmlrpc_parse_method_call" soup_xmlrpc_parse_method_call :: CString -> -- method_call : TBasicType TUTF8 Int32 -> -- length : TBasicType TInt32 Ptr CString -> -- method_name : TBasicType TUTF8 Ptr GObject.ValueArray -> -- params : TInterface "GObject" "ValueArray" IO CInt xmlrpcParseMethodCall :: (MonadIO m) => T.Text -> -- method_call Int32 -> -- length m (Bool,T.Text,GObject.ValueArray) xmlrpcParseMethodCall method_call length_ = liftIO $ do method_call' <- textToCString method_call method_name <- allocMem :: IO (Ptr CString) params <- callocBoxedBytes 24 :: IO (Ptr GObject.ValueArray) result <- soup_xmlrpc_parse_method_call method_call' length_ method_name params let result' = (/= 0) result method_name' <- peek method_name method_name'' <- cstringToText method_name' freeMem method_name' params' <- (wrapBoxed GObject.ValueArray) params freeMem method_call' freeMem method_name return (result', method_name'', params') -- function soup_xmlrpc_fault_quark -- Args : [] -- Lengths : [] -- hInArgs : [] -- returnType : TBasicType TUInt32 -- throws : False -- Skip return : False foreign import ccall "soup_xmlrpc_fault_quark" soup_xmlrpc_fault_quark :: IO Word32 xmlrpcFaultQuark :: (MonadIO m) => m Word32 xmlrpcFaultQuark = liftIO $ do result <- soup_xmlrpc_fault_quark return result -- function soup_xmlrpc_error_quark -- Args : [] -- Lengths : [] -- hInArgs : [] -- returnType : TBasicType TUInt32 -- throws : False -- Skip return : False foreign import ccall "soup_xmlrpc_error_quark" soup_xmlrpc_error_quark :: IO Word32 xmlrpcErrorQuark :: (MonadIO m) => m Word32 xmlrpcErrorQuark = liftIO $ do result <- soup_xmlrpc_error_quark return result -- function soup_xmlrpc_build_method_response -- Args : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "value", argType = TInterface "GObject" "Value", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "soup_xmlrpc_build_method_response" soup_xmlrpc_build_method_response :: Ptr GValue -> -- value : TInterface "GObject" "Value" IO CString xmlrpcBuildMethodResponse :: (MonadIO m) => GValue -> -- value m T.Text xmlrpcBuildMethodResponse value = liftIO $ do let value' = unsafeManagedPtrGetPtr value result <- soup_xmlrpc_build_method_response value' checkUnexpectedReturnNULL "soup_xmlrpc_build_method_response" result result' <- cstringToText result freeMem result touchManagedPtr value return result' -- function soup_xmlrpc_build_method_call -- Args : [Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TCArray False (-1) 2 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "n_params", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [Arg {argName = "n_params", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- hInArgs : [Arg {argName = "method_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "params", argType = TCArray False (-1) 2 (TInterface "GObject" "Value"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "soup_xmlrpc_build_method_call" soup_xmlrpc_build_method_call :: CString -> -- method_name : TBasicType TUTF8 Ptr GValue -> -- params : TCArray False (-1) 2 (TInterface "GObject" "Value") Int32 -> -- n_params : TBasicType TInt32 IO CString xmlrpcBuildMethodCall :: (MonadIO m) => T.Text -> -- method_name [GValue] -> -- params m T.Text xmlrpcBuildMethodCall method_name params = liftIO $ do let n_params = fromIntegral $ length params method_name' <- textToCString method_name let params' = map unsafeManagedPtrGetPtr params params'' <- packBlockArray 24 params' result <- soup_xmlrpc_build_method_call method_name' params'' n_params checkUnexpectedReturnNULL "soup_xmlrpc_build_method_call" result result' <- cstringToText result freeMem result mapM_ touchManagedPtr params freeMem method_name' freeMem params'' return result' -- function soup_websocket_server_process_handshake -- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "soup_websocket_server_process_handshake" soup_websocket_server_process_handshake :: Ptr Message -> -- msg : TInterface "Soup" "Message" CString -> -- origin : TBasicType TUTF8 Ptr CString -> -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8) IO CInt websocketServerProcessHandshake :: (MonadIO m, MessageK a) => a -> -- msg Maybe (T.Text) -> -- origin Maybe ([T.Text]) -> -- protocols m Bool websocketServerProcessHandshake msg origin protocols = liftIO $ do let msg' = unsafeManagedPtrCastPtr msg maybeOrigin <- case origin of Nothing -> return nullPtr Just jOrigin -> do jOrigin' <- textToCString jOrigin return jOrigin' maybeProtocols <- case protocols of Nothing -> return nullPtr Just jProtocols -> do jProtocols' <- packZeroTerminatedUTF8CArray jProtocols return jProtocols' result <- soup_websocket_server_process_handshake msg' maybeOrigin maybeProtocols let result' = (/= 0) result touchManagedPtr msg freeMem maybeOrigin mapZeroTerminatedCArray freeMem maybeProtocols freeMem maybeProtocols return result' -- function soup_websocket_server_check_handshake -- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : True -- Skip return : False foreign import ccall "soup_websocket_server_check_handshake" soup_websocket_server_check_handshake :: Ptr Message -> -- msg : TInterface "Soup" "Message" CString -> -- origin : TBasicType TUTF8 Ptr CString -> -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8) Ptr (Ptr GError) -> -- error IO CInt websocketServerCheckHandshake :: (MonadIO m, MessageK a) => a -> -- msg Maybe (T.Text) -> -- origin Maybe ([T.Text]) -> -- protocols m () websocketServerCheckHandshake msg origin protocols = liftIO $ do let msg' = unsafeManagedPtrCastPtr msg maybeOrigin <- case origin of Nothing -> return nullPtr Just jOrigin -> do jOrigin' <- textToCString jOrigin return jOrigin' maybeProtocols <- case protocols of Nothing -> return nullPtr Just jProtocols -> do jProtocols' <- packZeroTerminatedUTF8CArray jProtocols return jProtocols' onException (do _ <- propagateGError $ soup_websocket_server_check_handshake msg' maybeOrigin maybeProtocols touchManagedPtr msg freeMem maybeOrigin mapZeroTerminatedCArray freeMem maybeProtocols freeMem maybeProtocols return () ) (do freeMem maybeOrigin mapZeroTerminatedCArray freeMem maybeProtocols freeMem maybeProtocols ) -- function soup_websocket_error_get_quark -- Args : [] -- Lengths : [] -- hInArgs : [] -- returnType : TBasicType TUInt32 -- throws : False -- Skip return : False foreign import ccall "soup_websocket_error_get_quark" soup_websocket_error_get_quark :: IO Word32 websocketErrorGetQuark :: (MonadIO m) => m Word32 websocketErrorGetQuark = liftIO $ do result <- soup_websocket_error_get_quark return result -- function soup_websocket_client_verify_handshake -- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : True -- Skip return : False foreign import ccall "soup_websocket_client_verify_handshake" soup_websocket_client_verify_handshake :: Ptr Message -> -- msg : TInterface "Soup" "Message" Ptr (Ptr GError) -> -- error IO CInt websocketClientVerifyHandshake :: (MonadIO m, MessageK a) => a -> -- msg m () websocketClientVerifyHandshake msg = liftIO $ do let msg' = unsafeManagedPtrCastPtr msg onException (do _ <- propagateGError $ soup_websocket_client_verify_handshake msg' touchManagedPtr msg return () ) (do return () ) -- function soup_websocket_client_prepare_handshake -- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "protocols", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "soup_websocket_client_prepare_handshake" soup_websocket_client_prepare_handshake :: Ptr Message -> -- msg : TInterface "Soup" "Message" CString -> -- origin : TBasicType TUTF8 Ptr CString -> -- protocols : TCArray True (-1) (-1) (TBasicType TUTF8) IO () websocketClientPrepareHandshake :: (MonadIO m, MessageK a) => a -> -- msg Maybe (T.Text) -> -- origin Maybe ([T.Text]) -> -- protocols m () websocketClientPrepareHandshake msg origin protocols = liftIO $ do let msg' = unsafeManagedPtrCastPtr msg maybeOrigin <- case origin of Nothing -> return nullPtr Just jOrigin -> do jOrigin' <- textToCString jOrigin return jOrigin' maybeProtocols <- case protocols of Nothing -> return nullPtr Just jProtocols -> do jProtocols' <- packZeroTerminatedUTF8CArray jProtocols return jProtocols' soup_websocket_client_prepare_handshake msg' maybeOrigin maybeProtocols touchManagedPtr msg freeMem maybeOrigin mapZeroTerminatedCArray freeMem maybeProtocols freeMem maybeProtocols return () -- function soup_value_hash_new -- XXX Could not generate function soup_value_hash_new -- Error was : Not implemented: "GHashTable element of type TInterface \"GObject\" \"Value\" unsupported." -- function soup_value_hash_insert_value -- XXX Could not generate function soup_value_hash_insert_value -- Error was : Not implemented: "GHashTable element of type TInterface \"GObject\" \"Value\" unsupported." -- function soup_value_array_new -- Args : [] -- Lengths : [] -- hInArgs : [] -- returnType : TInterface "GObject" "ValueArray" -- throws : False -- Skip return : False foreign import ccall "soup_value_array_new" soup_value_array_new :: IO (Ptr GObject.ValueArray) valueArrayNew :: (MonadIO m) => m GObject.ValueArray valueArrayNew = liftIO $ do result <- soup_value_array_new checkUnexpectedReturnNULL "soup_value_array_new" result result' <- (wrapBoxed GObject.ValueArray) result return result' -- function soup_uri_normalize -- Args : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unescape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unescape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "soup_uri_normalize" soup_uri_normalize :: CString -> -- part : TBasicType TUTF8 CString -> -- unescape_extra : TBasicType TUTF8 IO CString uriNormalize :: (MonadIO m) => T.Text -> -- part T.Text -> -- unescape_extra m T.Text uriNormalize part unescape_extra = liftIO $ do part' <- textToCString part unescape_extra' <- textToCString unescape_extra result <- soup_uri_normalize part' unescape_extra' checkUnexpectedReturnNULL "soup_uri_normalize" result result' <- cstringToText result freeMem result freeMem part' freeMem unescape_extra' return result' -- function soup_uri_encode -- Args : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "escape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "escape_extra", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "soup_uri_encode" soup_uri_encode :: CString -> -- part : TBasicType TUTF8 CString -> -- escape_extra : TBasicType TUTF8 IO CString uriEncode :: (MonadIO m) => T.Text -> -- part Maybe (T.Text) -> -- escape_extra m T.Text uriEncode part escape_extra = liftIO $ do part' <- textToCString part maybeEscape_extra <- case escape_extra of Nothing -> return nullPtr Just jEscape_extra -> do jEscape_extra' <- textToCString jEscape_extra return jEscape_extra' result <- soup_uri_encode part' maybeEscape_extra checkUnexpectedReturnNULL "soup_uri_encode" result result' <- cstringToText result freeMem result freeMem part' freeMem maybeEscape_extra return result' -- function soup_uri_decode -- Args : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "part", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "soup_uri_decode" soup_uri_decode :: CString -> -- part : TBasicType TUTF8 IO CString uriDecode :: (MonadIO m) => T.Text -> -- part m T.Text uriDecode part = liftIO $ do part' <- textToCString part result <- soup_uri_decode part' checkUnexpectedReturnNULL "soup_uri_decode" result result' <- cstringToText result freeMem result freeMem part' return result' -- function soup_tld_get_base_domain -- Args : [Arg {argName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : True -- Skip return : False foreign import ccall "soup_tld_get_base_domain" soup_tld_get_base_domain :: CString -> -- hostname : TBasicType TUTF8 Ptr (Ptr GError) -> -- error IO CString tldGetBaseDomain :: (MonadIO m) => T.Text -> -- hostname m T.Text tldGetBaseDomain hostname = liftIO $ do hostname' <- textToCString hostname onException (do result <- propagateGError $ soup_tld_get_base_domain hostname' checkUnexpectedReturnNULL "soup_tld_get_base_domain" result result' <- cstringToText result freeMem hostname' return result' ) (do freeMem hostname' ) -- function soup_tld_error_quark -- Args : [] -- Lengths : [] -- hInArgs : [] -- returnType : TBasicType TUInt32 -- throws : False -- Skip return : False foreign import ccall "soup_tld_error_quark" soup_tld_error_quark :: IO Word32 tldErrorQuark :: (MonadIO m) => m Word32 tldErrorQuark = liftIO $ do result <- soup_tld_error_quark return result -- function soup_tld_domain_is_public_suffix -- Args : [Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "soup_tld_domain_is_public_suffix" soup_tld_domain_is_public_suffix :: CString -> -- domain : TBasicType TUTF8 IO CInt tldDomainIsPublicSuffix :: (MonadIO m) => T.Text -> -- domain m Bool tldDomainIsPublicSuffix domain = liftIO $ do domain' <- textToCString domain result <- soup_tld_domain_is_public_suffix domain' let result' = (/= 0) result freeMem domain' return result' -- function soup_str_case_hash -- Args : [Arg {argName = "key", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "key", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUInt32 -- throws : False -- Skip return : False foreign import ccall "soup_str_case_hash" soup_str_case_hash :: Ptr () -> -- key : TBasicType TVoid IO Word32 strCaseHash :: (MonadIO m) => Ptr () -> -- key m Word32 strCaseHash key = liftIO $ do result <- soup_str_case_hash key return result -- function soup_str_case_equal -- Args : [Arg {argName = "v1", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v2", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "v1", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "v2", argType = TBasicType TVoid, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "soup_str_case_equal" soup_str_case_equal :: Ptr () -> -- v1 : TBasicType TVoid Ptr () -> -- v2 : TBasicType TVoid IO CInt strCaseEqual :: (MonadIO m) => Ptr () -> -- v1 Ptr () -> -- v2 m Bool strCaseEqual v1 v2 = liftIO $ do result <- soup_str_case_equal v1 v2 let result' = (/= 0) result return result' -- function soup_status_proxify -- Args : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUInt32 -- throws : False -- Skip return : False foreign import ccall "soup_status_proxify" soup_status_proxify :: Word32 -> -- status_code : TBasicType TUInt32 IO Word32 statusProxify :: (MonadIO m) => Word32 -> -- status_code m Word32 statusProxify status_code = liftIO $ do result <- soup_status_proxify status_code return result -- function soup_status_get_phrase -- Args : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "soup_status_get_phrase" soup_status_get_phrase :: Word32 -> -- status_code : TBasicType TUInt32 IO CString statusGetPhrase :: (MonadIO m) => Word32 -> -- status_code m T.Text statusGetPhrase status_code = liftIO $ do result <- soup_status_get_phrase status_code checkUnexpectedReturnNULL "soup_status_get_phrase" result result' <- cstringToText result return result' -- function soup_requester_error_quark -- Args : [] -- Lengths : [] -- hInArgs : [] -- returnType : TBasicType TUInt32 -- throws : False -- Skip return : False foreign import ccall "soup_requester_error_quark" soup_requester_error_quark :: IO Word32 requesterErrorQuark :: (MonadIO m) => m Word32 requesterErrorQuark = liftIO $ do result <- soup_requester_error_quark return result -- function soup_request_error_quark -- Args : [] -- Lengths : [] -- hInArgs : [] -- returnType : TBasicType TUInt32 -- throws : False -- Skip return : False foreign import ccall "soup_request_error_quark" soup_request_error_quark :: IO Word32 requestErrorQuark :: (MonadIO m) => m Word32 requestErrorQuark = liftIO $ do result <- soup_request_error_quark return result -- function soup_message_headers_iter_init -- Args : [Arg {argName = "iter", argType = TInterface "Soup" "MessageHeadersIter", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "hdrs", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "hdrs", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "soup_message_headers_iter_init" soup_message_headers_iter_init :: Ptr MessageHeadersIter -> -- iter : TInterface "Soup" "MessageHeadersIter" Ptr MessageHeaders -> -- hdrs : TInterface "Soup" "MessageHeaders" IO () messageHeadersIterInit :: (MonadIO m) => MessageHeaders -> -- hdrs m (MessageHeadersIter) messageHeadersIterInit hdrs = liftIO $ do iter <- callocBytes 24 :: IO (Ptr MessageHeadersIter) let hdrs' = unsafeManagedPtrGetPtr hdrs soup_message_headers_iter_init iter hdrs' iter' <- (wrapPtr MessageHeadersIter) iter touchManagedPtr hdrs return iter' -- function soup_http_error_quark -- Args : [] -- Lengths : [] -- hInArgs : [] -- returnType : TBasicType TUInt32 -- throws : False -- Skip return : False foreign import ccall "soup_http_error_quark" soup_http_error_quark :: IO Word32 httpErrorQuark :: (MonadIO m) => m Word32 httpErrorQuark = liftIO $ do result <- soup_http_error_quark return result -- function soup_headers_parse_status_line -- Args : [Arg {argName = "status_line", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}] -- Lengths : [] -- hInArgs : [Arg {argName = "status_line", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "soup_headers_parse_status_line" soup_headers_parse_status_line :: CString -> -- status_line : TBasicType TUTF8 Ptr CUInt -> -- ver : TInterface "Soup" "HTTPVersion" Ptr Word32 -> -- status_code : TBasicType TUInt32 Ptr CString -> -- reason_phrase : TBasicType TUTF8 IO CInt headersParseStatusLine :: (MonadIO m) => T.Text -> -- status_line m (Bool,HTTPVersion,Word32,T.Text) headersParseStatusLine status_line = liftIO $ do status_line' <- textToCString status_line ver <- allocMem :: IO (Ptr CUInt) status_code <- allocMem :: IO (Ptr Word32) reason_phrase <- allocMem :: IO (Ptr CString) result <- soup_headers_parse_status_line status_line' ver status_code reason_phrase let result' = (/= 0) result ver' <- peek ver let ver'' = (toEnum . fromIntegral) ver' status_code' <- peek status_code reason_phrase' <- peek reason_phrase reason_phrase'' <- cstringToText reason_phrase' freeMem reason_phrase' freeMem status_line' freeMem ver freeMem status_code freeMem reason_phrase return (result', ver'', status_code', reason_phrase'') -- function soup_headers_parse_response -- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "status_code", argType = TBasicType TUInt32, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "reason_phrase", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}] -- Lengths : [] -- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "soup_headers_parse_response" soup_headers_parse_response :: CString -> -- str : TBasicType TUTF8 Int32 -> -- len : TBasicType TInt32 Ptr MessageHeaders -> -- headers : TInterface "Soup" "MessageHeaders" Ptr CUInt -> -- ver : TInterface "Soup" "HTTPVersion" Ptr Word32 -> -- status_code : TBasicType TUInt32 Ptr CString -> -- reason_phrase : TBasicType TUTF8 IO CInt headersParseResponse :: (MonadIO m) => T.Text -> -- str Int32 -> -- len MessageHeaders -> -- headers m (Bool,HTTPVersion,Word32,T.Text) headersParseResponse str len headers = liftIO $ do str' <- textToCString str let headers' = unsafeManagedPtrGetPtr headers ver <- allocMem :: IO (Ptr CUInt) status_code <- allocMem :: IO (Ptr Word32) reason_phrase <- allocMem :: IO (Ptr CString) result <- soup_headers_parse_response str' len headers' ver status_code reason_phrase let result' = (/= 0) result ver' <- peek ver let ver'' = (toEnum . fromIntegral) ver' status_code' <- peek status_code reason_phrase' <- peek reason_phrase reason_phrase'' <- cstringToText reason_phrase' freeMem reason_phrase' touchManagedPtr headers freeMem str' freeMem ver freeMem status_code freeMem reason_phrase return (result', ver'', status_code', reason_phrase'') -- function soup_headers_parse_request -- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_method", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "req_path", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "ver", argType = TInterface "Soup" "HTTPVersion", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}] -- Lengths : [] -- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "req_headers", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUInt32 -- throws : False -- Skip return : False foreign import ccall "soup_headers_parse_request" soup_headers_parse_request :: CString -> -- str : TBasicType TUTF8 Int32 -> -- len : TBasicType TInt32 Ptr MessageHeaders -> -- req_headers : TInterface "Soup" "MessageHeaders" Ptr CString -> -- req_method : TBasicType TUTF8 Ptr CString -> -- req_path : TBasicType TUTF8 Ptr CUInt -> -- ver : TInterface "Soup" "HTTPVersion" IO Word32 headersParseRequest :: (MonadIO m) => T.Text -> -- str Int32 -> -- len MessageHeaders -> -- req_headers m (Word32,T.Text,T.Text,HTTPVersion) headersParseRequest str len req_headers = liftIO $ do str' <- textToCString str let req_headers' = unsafeManagedPtrGetPtr req_headers req_method <- allocMem :: IO (Ptr CString) req_path <- allocMem :: IO (Ptr CString) ver <- allocMem :: IO (Ptr CUInt) result <- soup_headers_parse_request str' len req_headers' req_method req_path ver req_method' <- peek req_method req_method'' <- cstringToText req_method' freeMem req_method' req_path' <- peek req_path req_path'' <- cstringToText req_path' freeMem req_path' ver' <- peek ver let ver'' = (toEnum . fromIntegral) ver' touchManagedPtr req_headers freeMem str' freeMem req_method freeMem req_path freeMem ver return (result, req_method'', req_path'', ver'') -- function soup_headers_parse -- Args : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "len", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "dest", argType = TInterface "Soup" "MessageHeaders", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "soup_headers_parse" soup_headers_parse :: CString -> -- str : TBasicType TUTF8 Int32 -> -- len : TBasicType TInt32 Ptr MessageHeaders -> -- dest : TInterface "Soup" "MessageHeaders" IO CInt headersParse :: (MonadIO m) => T.Text -> -- str Int32 -> -- len MessageHeaders -> -- dest m Bool headersParse str len dest = liftIO $ do str' <- textToCString str let dest' = unsafeManagedPtrGetPtr dest result <- soup_headers_parse str' len dest' let result' = (/= 0) result touchManagedPtr dest freeMem str' return result' -- function soup_header_parse_semi_param_list -- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "soup_header_parse_semi_param_list" soup_header_parse_semi_param_list :: CString -> -- header : TBasicType TUTF8 IO (Ptr (GHashTable CString CString)) headerParseSemiParamList :: (MonadIO m) => T.Text -> -- header m (Map.Map T.Text T.Text) headerParseSemiParamList header = liftIO $ do header' <- textToCString header result <- soup_header_parse_semi_param_list header' checkUnexpectedReturnNULL "soup_header_parse_semi_param_list" result result' <- unpackGHashTable result let result'' = mapFirst cstringUnpackPtr result' result''' <- mapFirstA cstringToText result'' let result'''' = mapSecond cstringUnpackPtr result''' result''''' <- mapSecondA cstringToText result'''' let result'''''' = Map.fromList result''''' unrefGHashTable result freeMem header' return result'''''' -- function soup_header_parse_quality_list -- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "unacceptable", argType = TGSList (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}] -- Lengths : [] -- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TGSList (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "soup_header_parse_quality_list" soup_header_parse_quality_list :: CString -> -- header : TBasicType TUTF8 Ptr (Ptr (GSList CString)) -> -- unacceptable : TGSList (TBasicType TUTF8) IO (Ptr (GSList CString)) headerParseQualityList :: (MonadIO m) => T.Text -> -- header m ([T.Text],[T.Text]) headerParseQualityList header = liftIO $ do header' <- textToCString header unacceptable <- allocMem :: IO (Ptr (Ptr (GSList CString))) result <- soup_header_parse_quality_list header' unacceptable checkUnexpectedReturnNULL "soup_header_parse_quality_list" result result' <- unpackGSList result result'' <- mapM cstringToText result' mapGSList freeMem result g_slist_free result unacceptable' <- peek unacceptable unacceptable'' <- unpackGSList unacceptable' unacceptable''' <- mapM cstringToText unacceptable'' mapGSList freeMem unacceptable' g_slist_free unacceptable' freeMem header' freeMem unacceptable return (result'', unacceptable''') -- function soup_header_parse_param_list -- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "soup_header_parse_param_list" soup_header_parse_param_list :: CString -> -- header : TBasicType TUTF8 IO (Ptr (GHashTable CString CString)) headerParseParamList :: (MonadIO m) => T.Text -> -- header m (Map.Map T.Text T.Text) headerParseParamList header = liftIO $ do header' <- textToCString header result <- soup_header_parse_param_list header' checkUnexpectedReturnNULL "soup_header_parse_param_list" result result' <- unpackGHashTable result let result'' = mapFirst cstringUnpackPtr result' result''' <- mapFirstA cstringToText result'' let result'''' = mapSecond cstringUnpackPtr result''' result''''' <- mapSecondA cstringToText result'''' let result'''''' = Map.fromList result''''' unrefGHashTable result freeMem header' return result'''''' -- function soup_header_parse_list -- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TGSList (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "soup_header_parse_list" soup_header_parse_list :: CString -> -- header : TBasicType TUTF8 IO (Ptr (GSList CString)) headerParseList :: (MonadIO m) => T.Text -> -- header m [T.Text] headerParseList header = liftIO $ do header' <- textToCString header result <- soup_header_parse_list header' checkUnexpectedReturnNULL "soup_header_parse_list" result result' <- unpackGSList result result'' <- mapM cstringToText result' mapGSList freeMem result g_slist_free result freeMem header' return result'' -- function soup_header_g_string_append_param_quoted -- Args : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "soup_header_g_string_append_param_quoted" soup_header_g_string_append_param_quoted :: Ptr GLib.String -> -- string : TInterface "GLib" "String" CString -> -- name : TBasicType TUTF8 CString -> -- value : TBasicType TUTF8 IO () headerGStringAppendParamQuoted :: (MonadIO m) => GLib.String -> -- string T.Text -> -- name T.Text -> -- value m () headerGStringAppendParamQuoted string name value = liftIO $ do let string' = unsafeManagedPtrGetPtr string name' <- textToCString name value' <- textToCString value soup_header_g_string_append_param_quoted string' name' value' touchManagedPtr string freeMem name' freeMem value' return () -- function soup_header_g_string_append_param -- Args : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "string", argType = TInterface "GLib" "String", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "soup_header_g_string_append_param" soup_header_g_string_append_param :: Ptr GLib.String -> -- string : TInterface "GLib" "String" CString -> -- name : TBasicType TUTF8 CString -> -- value : TBasicType TUTF8 IO () headerGStringAppendParam :: (MonadIO m) => GLib.String -> -- string T.Text -> -- name T.Text -> -- value m () headerGStringAppendParam string name value = liftIO $ do let string' = unsafeManagedPtrGetPtr string name' <- textToCString name value' <- textToCString value soup_header_g_string_append_param string' name' value' touchManagedPtr string freeMem name' freeMem value' return () -- function soup_header_free_param_list -- Args : [Arg {argName = "param_list", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "param_list", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "soup_header_free_param_list" soup_header_free_param_list :: Ptr (GHashTable CString CString) -> -- param_list : TGHash (TBasicType TUTF8) (TBasicType TUTF8) IO () headerFreeParamList :: (MonadIO m) => Map.Map T.Text T.Text -> -- param_list m () headerFreeParamList param_list = liftIO $ do let param_list' = Map.toList param_list param_list'' <- mapFirstA textToCString param_list' param_list''' <- mapSecondA textToCString param_list'' let param_list'''' = mapFirst cstringPackPtr param_list''' let param_list''''' = mapSecond cstringPackPtr param_list'''' param_list'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) param_list''''' soup_header_free_param_list param_list'''''' unrefGHashTable param_list'''''' return () -- function soup_header_contains -- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "token", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TBoolean -- throws : False -- Skip return : False foreign import ccall "soup_header_contains" soup_header_contains :: CString -> -- header : TBasicType TUTF8 CString -> -- token : TBasicType TUTF8 IO CInt headerContains :: (MonadIO m) => T.Text -> -- header T.Text -> -- token m Bool headerContains header token = liftIO $ do header' <- textToCString header token' <- textToCString token result <- soup_header_contains header' token' let result' = (/= 0) result freeMem header' freeMem token' return result' -- function soup_form_request_new_from_multipart -- Args : [Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "multipart", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "multipart", argType = TInterface "Soup" "Multipart", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Soup" "Message" -- throws : False -- Skip return : False foreign import ccall "soup_form_request_new_from_multipart" soup_form_request_new_from_multipart :: CString -> -- uri : TBasicType TUTF8 Ptr Multipart -> -- multipart : TInterface "Soup" "Multipart" IO (Ptr Message) formRequestNewFromMultipart :: (MonadIO m) => T.Text -> -- uri Multipart -> -- multipart m Message formRequestNewFromMultipart uri multipart = liftIO $ do uri' <- textToCString uri let multipart' = unsafeManagedPtrGetPtr multipart result <- soup_form_request_new_from_multipart uri' multipart' checkUnexpectedReturnNULL "soup_form_request_new_from_multipart" result result' <- (wrapObject Message) result touchManagedPtr multipart freeMem uri' return result' -- function soup_form_request_new_from_hash -- Args : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Soup" "Message" -- throws : False -- Skip return : False foreign import ccall "soup_form_request_new_from_hash" soup_form_request_new_from_hash :: CString -> -- method : TBasicType TUTF8 CString -> -- uri : TBasicType TUTF8 Ptr (GHashTable CString CString) -> -- form_data_set : TGHash (TBasicType TUTF8) (TBasicType TUTF8) IO (Ptr Message) formRequestNewFromHash :: (MonadIO m) => T.Text -> -- method T.Text -> -- uri Map.Map T.Text T.Text -> -- form_data_set m Message formRequestNewFromHash method uri form_data_set = liftIO $ do method' <- textToCString method uri' <- textToCString uri let form_data_set' = Map.toList form_data_set form_data_set'' <- mapFirstA textToCString form_data_set' form_data_set''' <- mapSecondA textToCString form_data_set'' let form_data_set'''' = mapFirst cstringPackPtr form_data_set''' let form_data_set''''' = mapSecond cstringPackPtr form_data_set'''' form_data_set'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) form_data_set''''' result <- soup_form_request_new_from_hash method' uri' form_data_set'''''' checkUnexpectedReturnNULL "soup_form_request_new_from_hash" result result' <- (wrapObject Message) result freeMem method' freeMem uri' unrefGHashTable form_data_set'''''' return result' -- function soup_form_request_new_from_datalist -- Args : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "method", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Soup" "Message" -- throws : False -- Skip return : False foreign import ccall "soup_form_request_new_from_datalist" soup_form_request_new_from_datalist :: CString -> -- method : TBasicType TUTF8 CString -> -- uri : TBasicType TUTF8 Ptr GLib.Data -> -- form_data_set : TInterface "GLib" "Data" IO (Ptr Message) formRequestNewFromDatalist :: (MonadIO m) => T.Text -> -- method T.Text -> -- uri GLib.Data -> -- form_data_set m Message formRequestNewFromDatalist method uri form_data_set = liftIO $ do method' <- textToCString method uri' <- textToCString uri let form_data_set' = unsafeManagedPtrGetPtr form_data_set result <- soup_form_request_new_from_datalist method' uri' form_data_set' checkUnexpectedReturnNULL "soup_form_request_new_from_datalist" result result' <- (wrapObject Message) result touchManagedPtr form_data_set freeMem method' freeMem uri' return result' -- function soup_form_encode_hash -- Args : [Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "form_data_set", argType = TGHash (TBasicType TUTF8) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "soup_form_encode_hash" soup_form_encode_hash :: Ptr (GHashTable CString CString) -> -- form_data_set : TGHash (TBasicType TUTF8) (TBasicType TUTF8) IO CString formEncodeHash :: (MonadIO m) => Map.Map T.Text T.Text -> -- form_data_set m T.Text formEncodeHash form_data_set = liftIO $ do let form_data_set' = Map.toList form_data_set form_data_set'' <- mapFirstA textToCString form_data_set' form_data_set''' <- mapSecondA textToCString form_data_set'' let form_data_set'''' = mapFirst cstringPackPtr form_data_set''' let form_data_set''''' = mapSecond cstringPackPtr form_data_set'''' form_data_set'''''' <- packGHashTable gStrHash gStrEqual (Just ptr_to_g_free) (Just ptr_to_g_free) form_data_set''''' result <- soup_form_encode_hash form_data_set'''''' checkUnexpectedReturnNULL "soup_form_encode_hash" result result' <- cstringToText result freeMem result unrefGHashTable form_data_set'''''' return result' -- function soup_form_encode_datalist -- Args : [Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "form_data_set", argType = TInterface "GLib" "Data", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "soup_form_encode_datalist" soup_form_encode_datalist :: Ptr GLib.Data -> -- form_data_set : TInterface "GLib" "Data" IO CString formEncodeDatalist :: (MonadIO m) => GLib.Data -> -- form_data_set m T.Text formEncodeDatalist form_data_set = liftIO $ do let form_data_set' = unsafeManagedPtrGetPtr form_data_set result <- soup_form_encode_datalist form_data_set' checkUnexpectedReturnNULL "soup_form_encode_datalist" result result' <- cstringToText result freeMem result touchManagedPtr form_data_set return result' -- function soup_form_decode_multipart -- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "file_control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "filename", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "content_type", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything},Arg {argName = "file", argType = TInterface "Soup" "Buffer", direction = DirectionOut, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferEverything}] -- Lengths : [] -- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "file_control_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "soup_form_decode_multipart" soup_form_decode_multipart :: Ptr Message -> -- msg : TInterface "Soup" "Message" CString -> -- file_control_name : TBasicType TUTF8 Ptr CString -> -- filename : TBasicType TUTF8 Ptr CString -> -- content_type : TBasicType TUTF8 Ptr Buffer -> -- file : TInterface "Soup" "Buffer" IO (Ptr (GHashTable CString CString)) formDecodeMultipart :: (MonadIO m, MessageK a) => a -> -- msg Maybe (T.Text) -> -- file_control_name m ((Map.Map T.Text T.Text),T.Text,T.Text,Buffer) formDecodeMultipart msg file_control_name = liftIO $ do let msg' = unsafeManagedPtrCastPtr msg maybeFile_control_name <- case file_control_name of Nothing -> return nullPtr Just jFile_control_name -> do jFile_control_name' <- textToCString jFile_control_name return jFile_control_name' filename <- allocMem :: IO (Ptr CString) content_type <- allocMem :: IO (Ptr CString) file <- callocBoxedBytes 16 :: IO (Ptr Buffer) result <- soup_form_decode_multipart msg' maybeFile_control_name filename content_type file checkUnexpectedReturnNULL "soup_form_decode_multipart" result result' <- unpackGHashTable result let result'' = mapFirst cstringUnpackPtr result' result''' <- mapFirstA cstringToText result'' let result'''' = mapSecond cstringUnpackPtr result''' result''''' <- mapSecondA cstringToText result'''' let result'''''' = Map.fromList result''''' unrefGHashTable result filename' <- peek filename filename'' <- cstringToText filename' freeMem filename' content_type' <- peek content_type content_type'' <- cstringToText content_type' freeMem content_type' file' <- (wrapBoxed Buffer) file touchManagedPtr msg freeMem maybeFile_control_name freeMem filename freeMem content_type return (result'''''', filename'', content_type'', file') -- function soup_form_decode -- Args : [Arg {argName = "encoded_form", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "encoded_form", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TGHash (TBasicType TUTF8) (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "soup_form_decode" soup_form_decode :: CString -> -- encoded_form : TBasicType TUTF8 IO (Ptr (GHashTable CString CString)) formDecode :: (MonadIO m) => T.Text -> -- encoded_form m (Map.Map T.Text T.Text) formDecode encoded_form = liftIO $ do encoded_form' <- textToCString encoded_form result <- soup_form_decode encoded_form' checkUnexpectedReturnNULL "soup_form_decode" result result' <- unpackGHashTable result let result'' = mapFirst cstringUnpackPtr result' result''' <- mapFirstA cstringToText result'' let result'''' = mapSecond cstringUnpackPtr result''' result''''' <- mapSecondA cstringToText result'''' let result'''''' = Map.fromList result''''' unrefGHashTable result freeMem encoded_form' return result'''''' -- function soup_cookies_to_response -- Args : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "soup_cookies_to_response" soup_cookies_to_response :: Ptr (GSList (Ptr Cookie)) -> -- cookies : TGSList (TInterface "Soup" "Cookie") Ptr Message -> -- msg : TInterface "Soup" "Message" IO () cookiesToResponse :: (MonadIO m, MessageK a) => [Cookie] -> -- cookies a -> -- msg m () cookiesToResponse cookies msg = liftIO $ do let cookies' = map unsafeManagedPtrGetPtr cookies cookies'' <- packGSList cookies' let msg' = unsafeManagedPtrCastPtr msg soup_cookies_to_response cookies'' msg' mapM_ touchManagedPtr cookies touchManagedPtr msg g_slist_free cookies'' return () -- function soup_cookies_to_request -- Args : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TVoid -- throws : False -- Skip return : False foreign import ccall "soup_cookies_to_request" soup_cookies_to_request :: Ptr (GSList (Ptr Cookie)) -> -- cookies : TGSList (TInterface "Soup" "Cookie") Ptr Message -> -- msg : TInterface "Soup" "Message" IO () cookiesToRequest :: (MonadIO m, MessageK a) => [Cookie] -> -- cookies a -> -- msg m () cookiesToRequest cookies msg = liftIO $ do let cookies' = map unsafeManagedPtrGetPtr cookies cookies'' <- packGSList cookies' let msg' = unsafeManagedPtrCastPtr msg soup_cookies_to_request cookies'' msg' mapM_ touchManagedPtr cookies touchManagedPtr msg g_slist_free cookies'' return () -- function soup_cookies_to_cookie_header -- Args : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "cookies", argType = TGSList (TInterface "Soup" "Cookie"), direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TBasicType TUTF8 -- throws : False -- Skip return : False foreign import ccall "soup_cookies_to_cookie_header" soup_cookies_to_cookie_header :: Ptr (GSList (Ptr Cookie)) -> -- cookies : TGSList (TInterface "Soup" "Cookie") IO CString cookiesToCookieHeader :: (MonadIO m) => [Cookie] -> -- cookies m T.Text cookiesToCookieHeader cookies = liftIO $ do let cookies' = map unsafeManagedPtrGetPtr cookies cookies'' <- packGSList cookies' result <- soup_cookies_to_cookie_header cookies'' checkUnexpectedReturnNULL "soup_cookies_to_cookie_header" result result' <- cstringToText result freeMem result mapM_ touchManagedPtr cookies g_slist_free cookies'' return result' -- function soup_cookies_from_response -- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TGSList (TInterface "Soup" "Cookie") -- throws : False -- Skip return : False foreign import ccall "soup_cookies_from_response" soup_cookies_from_response :: Ptr Message -> -- msg : TInterface "Soup" "Message" IO (Ptr (GSList (Ptr Cookie))) cookiesFromResponse :: (MonadIO m, MessageK a) => a -> -- msg m [Cookie] cookiesFromResponse msg = liftIO $ do let msg' = unsafeManagedPtrCastPtr msg result <- soup_cookies_from_response msg' checkUnexpectedReturnNULL "soup_cookies_from_response" result result' <- unpackGSList result result'' <- mapM (wrapBoxed Cookie) result' g_slist_free result touchManagedPtr msg return result'' -- function soup_cookies_from_request -- Args : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "msg", argType = TInterface "Soup" "Message", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TGSList (TInterface "Soup" "Cookie") -- throws : False -- Skip return : False foreign import ccall "soup_cookies_from_request" soup_cookies_from_request :: Ptr Message -> -- msg : TInterface "Soup" "Message" IO (Ptr (GSList (Ptr Cookie))) cookiesFromRequest :: (MonadIO m, MessageK a) => a -> -- msg m [Cookie] cookiesFromRequest msg = liftIO $ do let msg' = unsafeManagedPtrCastPtr msg result <- soup_cookies_from_request msg' checkUnexpectedReturnNULL "soup_cookies_from_request" result result' <- unpackGSList result result'' <- mapM (wrapBoxed Cookie) result' g_slist_free result touchManagedPtr msg return result'' -- function soup_cookie_parse -- Args : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- Lengths : [] -- hInArgs : [Arg {argName = "header", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "origin", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}] -- returnType : TInterface "Soup" "Cookie" -- throws : False -- Skip return : False foreign import ccall "soup_cookie_parse" soup_cookie_parse :: CString -> -- header : TBasicType TUTF8 Ptr URI -> -- origin : TInterface "Soup" "URI" IO (Ptr Cookie) cookieParse :: (MonadIO m) => T.Text -> -- header URI -> -- origin m Cookie cookieParse header origin = liftIO $ do header' <- textToCString header let origin' = unsafeManagedPtrGetPtr origin result <- soup_cookie_parse header' origin' checkUnexpectedReturnNULL "soup_cookie_parse" result result' <- (wrapBoxed Cookie) result touchManagedPtr origin freeMem header' return result'