gi-soup-0.2.50.12: GI/Soup/Structs/Cookie.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
An HTTP cookie.
@name and @value will be set for all cookies. If the cookie is
generated from a string that appears to have no name, then @name
will be the empty string.
@domain and @path give the host or domain, and path within that
host/domain, to restrict this cookie to. If @domain starts with
".", that indicates a domain (which matches the string after the
".", or any hostname that has @domain as a suffix). Otherwise, it
is a hostname and must match exactly.
@expires will be non-%NULL if the cookie uses either the original
"expires" attribute, or the newer "max-age" attribute. If @expires
is %NULL, it indicates that neither "expires" nor "max-age" was
specified, and the cookie expires at the end of the session.
If @http_only is set, the cookie should not be exposed to untrusted
code (eg, javascript), so as to minimize the danger posed by
cross-site scripting attacks.
-}
module GI.Soup.Structs.Cookie
(
-- * Exported types
Cookie(..) ,
noCookie ,
-- * Methods
-- ** cookieAppliesToUri
cookieAppliesToUri ,
-- ** cookieCopy
cookieCopy ,
-- ** cookieDomainMatches
cookieDomainMatches ,
-- ** cookieEqual
cookieEqual ,
-- ** cookieFree
cookieFree ,
-- ** cookieGetDomain
cookieGetDomain ,
-- ** cookieGetExpires
cookieGetExpires ,
-- ** cookieGetHttpOnly
cookieGetHttpOnly ,
-- ** cookieGetName
cookieGetName ,
-- ** cookieGetPath
cookieGetPath ,
-- ** cookieGetSecure
cookieGetSecure ,
-- ** cookieGetValue
cookieGetValue ,
-- ** cookieNew
cookieNew ,
-- ** cookieSetDomain
cookieSetDomain ,
-- ** cookieSetExpires
cookieSetExpires ,
-- ** cookieSetHttpOnly
cookieSetHttpOnly ,
-- ** cookieSetMaxAge
cookieSetMaxAge ,
-- ** cookieSetName
cookieSetName ,
-- ** cookieSetPath
cookieSetPath ,
-- ** cookieSetSecure
cookieSetSecure ,
-- ** cookieSetValue
cookieSetValue ,
-- ** cookieToCookieHeader
cookieToCookieHeader ,
-- ** cookieToSetCookieHeader
cookieToSetCookieHeader ,
-- * Properties
-- ** Domain
cookieReadDomain ,
-- ** Expires
cookieReadExpires ,
-- ** HttpOnly
cookieReadHttpOnly ,
-- ** Name
cookieReadName ,
-- ** Path
cookieReadPath ,
-- ** Secure
cookieReadSecure ,
-- ** Value
cookieReadValue ,
) 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
newtype Cookie = Cookie (ForeignPtr Cookie)
foreign import ccall "soup_cookie_get_type" c_soup_cookie_get_type ::
IO GType
instance BoxedObject Cookie where
boxedType _ = c_soup_cookie_get_type
noCookie :: Maybe Cookie
noCookie = Nothing
cookieReadName :: Cookie -> IO T.Text
cookieReadName s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 0) :: IO CString
val' <- cstringToText val
return val'
cookieReadValue :: Cookie -> IO T.Text
cookieReadValue s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 8) :: IO CString
val' <- cstringToText val
return val'
cookieReadDomain :: Cookie -> IO T.Text
cookieReadDomain s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 16) :: IO CString
val' <- cstringToText val
return val'
cookieReadPath :: Cookie -> IO T.Text
cookieReadPath s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 24) :: IO CString
val' <- cstringToText val
return val'
cookieReadExpires :: Cookie -> IO Date
cookieReadExpires s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 32) :: IO (Ptr Date)
val' <- (newBoxed Date) val
return val'
cookieReadSecure :: Cookie -> IO Bool
cookieReadSecure s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 40) :: IO CInt
let val' = (/= 0) val
return val'
cookieReadHttpOnly :: Cookie -> IO Bool
cookieReadHttpOnly s = withManagedPtr s $ \ptr -> do
val <- peek (ptr `plusPtr` 44) :: IO CInt
let val' = (/= 0) val
return val'
-- method Cookie::new
-- method type : Constructor
-- Args : [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},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [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},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, 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_new" soup_cookie_new ::
CString -> -- name : TBasicType TUTF8
CString -> -- value : TBasicType TUTF8
CString -> -- domain : TBasicType TUTF8
CString -> -- path : TBasicType TUTF8
Int32 -> -- max_age : TBasicType TInt32
IO (Ptr Cookie)
cookieNew ::
(MonadIO m) =>
T.Text -> -- name
T.Text -> -- value
T.Text -> -- domain
T.Text -> -- path
Int32 -> -- max_age
m Cookie
cookieNew name value domain path max_age = liftIO $ do
name' <- textToCString name
value' <- textToCString value
domain' <- textToCString domain
path' <- textToCString path
result <- soup_cookie_new name' value' domain' path' max_age
checkUnexpectedReturnNULL "soup_cookie_new" result
result' <- (wrapBoxed Cookie) result
freeMem name'
freeMem value'
freeMem domain'
freeMem path'
return result'
-- method Cookie::applies_to_uri
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "uri", argType = TInterface "Soup" "URI", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_applies_to_uri" soup_cookie_applies_to_uri ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
Ptr URI -> -- uri : TInterface "Soup" "URI"
IO CInt
cookieAppliesToUri ::
(MonadIO m) =>
Cookie -> -- _obj
URI -> -- uri
m Bool
cookieAppliesToUri _obj uri = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let uri' = unsafeManagedPtrGetPtr uri
result <- soup_cookie_applies_to_uri _obj' uri'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr uri
return result'
-- method Cookie::copy
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", 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_copy" soup_cookie_copy ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO (Ptr Cookie)
cookieCopy ::
(MonadIO m) =>
Cookie -> -- _obj
m Cookie
cookieCopy _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_cookie_copy _obj'
checkUnexpectedReturnNULL "soup_cookie_copy" result
result' <- (wrapBoxed Cookie) result
touchManagedPtr _obj
return result'
-- method Cookie::domain_matches
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "host", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "host", 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_cookie_domain_matches" soup_cookie_domain_matches ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
CString -> -- host : TBasicType TUTF8
IO CInt
cookieDomainMatches ::
(MonadIO m) =>
Cookie -> -- _obj
T.Text -> -- host
m Bool
cookieDomainMatches _obj host = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
host' <- textToCString host
result <- soup_cookie_domain_matches _obj' host'
let result' = (/= 0) result
touchManagedPtr _obj
freeMem host'
return result'
-- method Cookie::equal
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie2", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "cookie2", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_equal" soup_cookie_equal ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
Ptr Cookie -> -- cookie2 : TInterface "Soup" "Cookie"
IO CInt
cookieEqual ::
(MonadIO m) =>
Cookie -> -- _obj
Cookie -> -- cookie2
m Bool
cookieEqual _obj cookie2 = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let cookie2' = unsafeManagedPtrGetPtr cookie2
result <- soup_cookie_equal _obj' cookie2'
let result' = (/= 0) result
touchManagedPtr _obj
touchManagedPtr cookie2
return result'
-- method Cookie::free
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_free" soup_cookie_free ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO ()
cookieFree ::
(MonadIO m) =>
Cookie -> -- _obj
m ()
cookieFree _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
soup_cookie_free _obj'
touchManagedPtr _obj
return ()
-- method Cookie::get_domain
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = 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_cookie_get_domain" soup_cookie_get_domain ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO CString
cookieGetDomain ::
(MonadIO m) =>
Cookie -> -- _obj
m T.Text
cookieGetDomain _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_cookie_get_domain _obj'
checkUnexpectedReturnNULL "soup_cookie_get_domain" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method Cookie::get_expires
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "Soup" "Date"
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_get_expires" soup_cookie_get_expires ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO (Ptr Date)
cookieGetExpires ::
(MonadIO m) =>
Cookie -> -- _obj
m Date
cookieGetExpires _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_cookie_get_expires _obj'
checkUnexpectedReturnNULL "soup_cookie_get_expires" result
result' <- (newBoxed Date) result
touchManagedPtr _obj
return result'
-- method Cookie::get_http_only
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_get_http_only" soup_cookie_get_http_only ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO CInt
cookieGetHttpOnly ::
(MonadIO m) =>
Cookie -> -- _obj
m Bool
cookieGetHttpOnly _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_cookie_get_http_only _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method Cookie::get_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = 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_cookie_get_name" soup_cookie_get_name ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO CString
cookieGetName ::
(MonadIO m) =>
Cookie -> -- _obj
m T.Text
cookieGetName _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_cookie_get_name _obj'
checkUnexpectedReturnNULL "soup_cookie_get_name" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method Cookie::get_path
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = 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_cookie_get_path" soup_cookie_get_path ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO CString
cookieGetPath ::
(MonadIO m) =>
Cookie -> -- _obj
m T.Text
cookieGetPath _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_cookie_get_path _obj'
checkUnexpectedReturnNULL "soup_cookie_get_path" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method Cookie::get_secure
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_get_secure" soup_cookie_get_secure ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO CInt
cookieGetSecure ::
(MonadIO m) =>
Cookie -> -- _obj
m Bool
cookieGetSecure _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_cookie_get_secure _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
-- method Cookie::get_value
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = 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_cookie_get_value" soup_cookie_get_value ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO CString
cookieGetValue ::
(MonadIO m) =>
Cookie -> -- _obj
m T.Text
cookieGetValue _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_cookie_get_value _obj'
checkUnexpectedReturnNULL "soup_cookie_get_value" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
-- method Cookie::set_domain
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "domain", 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_cookie_set_domain" soup_cookie_set_domain ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
CString -> -- domain : TBasicType TUTF8
IO ()
cookieSetDomain ::
(MonadIO m) =>
Cookie -> -- _obj
T.Text -> -- domain
m ()
cookieSetDomain _obj domain = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
domain' <- textToCString domain
soup_cookie_set_domain _obj' domain'
touchManagedPtr _obj
freeMem domain'
return ()
-- method Cookie::set_expires
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expires", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "expires", argType = TInterface "Soup" "Date", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_set_expires" soup_cookie_set_expires ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
Ptr Date -> -- expires : TInterface "Soup" "Date"
IO ()
cookieSetExpires ::
(MonadIO m) =>
Cookie -> -- _obj
Date -> -- expires
m ()
cookieSetExpires _obj expires = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let expires' = unsafeManagedPtrGetPtr expires
soup_cookie_set_expires _obj' expires'
touchManagedPtr _obj
touchManagedPtr expires
return ()
-- method Cookie::set_http_only
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "http_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "http_only", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_set_http_only" soup_cookie_set_http_only ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
CInt -> -- http_only : TBasicType TBoolean
IO ()
cookieSetHttpOnly ::
(MonadIO m) =>
Cookie -> -- _obj
Bool -> -- http_only
m ()
cookieSetHttpOnly _obj http_only = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let http_only' = (fromIntegral . fromEnum) http_only
soup_cookie_set_http_only _obj' http_only'
touchManagedPtr _obj
return ()
-- method Cookie::set_max_age
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "max_age", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_set_max_age" soup_cookie_set_max_age ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
Int32 -> -- max_age : TBasicType TInt32
IO ()
cookieSetMaxAge ::
(MonadIO m) =>
Cookie -> -- _obj
Int32 -> -- max_age
m ()
cookieSetMaxAge _obj max_age = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
soup_cookie_set_max_age _obj' max_age
touchManagedPtr _obj
return ()
-- method Cookie::set_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", 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}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", 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}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_set_name" soup_cookie_set_name ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
CString -> -- name : TBasicType TUTF8
IO ()
cookieSetName ::
(MonadIO m) =>
Cookie -> -- _obj
T.Text -> -- name
m ()
cookieSetName _obj name = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
name' <- textToCString name
soup_cookie_set_name _obj' name'
touchManagedPtr _obj
freeMem name'
return ()
-- method Cookie::set_path
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "path", 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_cookie_set_path" soup_cookie_set_path ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
CString -> -- path : TBasicType TUTF8
IO ()
cookieSetPath ::
(MonadIO m) =>
Cookie -> -- _obj
T.Text -> -- path
m ()
cookieSetPath _obj path = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
path' <- textToCString path
soup_cookie_set_path _obj' path'
touchManagedPtr _obj
freeMem path'
return ()
-- method Cookie::set_secure
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "secure", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "secure", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "soup_cookie_set_secure" soup_cookie_set_secure ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
CInt -> -- secure : TBasicType TBoolean
IO ()
cookieSetSecure ::
(MonadIO m) =>
Cookie -> -- _obj
Bool -> -- secure
m ()
cookieSetSecure _obj secure = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let secure' = (fromIntegral . fromEnum) secure
soup_cookie_set_secure _obj' secure'
touchManagedPtr _obj
return ()
-- method Cookie::set_value
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", 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 = "_obj", argType = TInterface "Soup" "Cookie", 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_cookie_set_value" soup_cookie_set_value ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
CString -> -- value : TBasicType TUTF8
IO ()
cookieSetValue ::
(MonadIO m) =>
Cookie -> -- _obj
T.Text -> -- value
m ()
cookieSetValue _obj value = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
value' <- textToCString value
soup_cookie_set_value _obj' value'
touchManagedPtr _obj
freeMem value'
return ()
-- method Cookie::to_cookie_header
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = 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_cookie_to_cookie_header" soup_cookie_to_cookie_header ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO CString
cookieToCookieHeader ::
(MonadIO m) =>
Cookie -> -- _obj
m T.Text
cookieToCookieHeader _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_cookie_to_cookie_header _obj'
checkUnexpectedReturnNULL "soup_cookie_to_cookie_header" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
return result'
-- method Cookie::to_set_cookie_header
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "Soup" "Cookie", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = 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_cookie_to_set_cookie_header" soup_cookie_to_set_cookie_header ::
Ptr Cookie -> -- _obj : TInterface "Soup" "Cookie"
IO CString
cookieToSetCookieHeader ::
(MonadIO m) =>
Cookie -> -- _obj
m T.Text
cookieToSetCookieHeader _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- soup_cookie_to_set_cookie_header _obj'
checkUnexpectedReturnNULL "soup_cookie_to_set_cookie_header" result
result' <- cstringToText result
freeMem result
touchManagedPtr _obj
return result'