gi-soup-2.4.18: GI/Soup/Objects/RequestHTTP.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)
/No description available in the introspection data./
-}
#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Soup.Objects.RequestHTTP
(
-- * Exported types
RequestHTTP(..) ,
IsRequestHTTP ,
toRequestHTTP ,
noRequestHTTP ,
-- * Methods
-- ** getMessage #method:getMessage#
#if ENABLE_OVERLOADING
RequestHTTPGetMessageMethodInfo ,
#endif
requestHTTPGetMessage ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Interfaces.Initable as Gio.Initable
import {-# SOURCE #-} qualified GI.Soup.Objects.Message as Soup.Message
import {-# SOURCE #-} qualified GI.Soup.Objects.Request as Soup.Request
-- | Memory-managed wrapper type.
newtype RequestHTTP = RequestHTTP (ManagedPtr RequestHTTP)
foreign import ccall "soup_request_http_get_type"
c_soup_request_http_get_type :: IO GType
instance GObject RequestHTTP where
gobjectType = c_soup_request_http_get_type
-- | Type class for types which can be safely cast to `RequestHTTP`, for instance with `toRequestHTTP`.
class (GObject o, O.IsDescendantOf RequestHTTP o) => IsRequestHTTP o
instance (GObject o, O.IsDescendantOf RequestHTTP o) => IsRequestHTTP o
instance O.HasParentTypes RequestHTTP
type instance O.ParentTypes RequestHTTP = '[Soup.Request.Request, GObject.Object.Object, Gio.Initable.Initable]
-- | Cast to `RequestHTTP`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.
toRequestHTTP :: (MonadIO m, IsRequestHTTP o) => o -> m RequestHTTP
toRequestHTTP = liftIO . unsafeCastTo RequestHTTP
-- | A convenience alias for `Nothing` :: `Maybe` `RequestHTTP`.
noRequestHTTP :: Maybe RequestHTTP
noRequestHTTP = Nothing
#if ENABLE_OVERLOADING
type family ResolveRequestHTTPMethod (t :: Symbol) (o :: *) :: * where
ResolveRequestHTTPMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveRequestHTTPMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveRequestHTTPMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveRequestHTTPMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveRequestHTTPMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveRequestHTTPMethod "init" o = Gio.Initable.InitableInitMethodInfo
ResolveRequestHTTPMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveRequestHTTPMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveRequestHTTPMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveRequestHTTPMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveRequestHTTPMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveRequestHTTPMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveRequestHTTPMethod "send" o = Soup.Request.RequestSendMethodInfo
ResolveRequestHTTPMethod "sendAsync" o = Soup.Request.RequestSendAsyncMethodInfo
ResolveRequestHTTPMethod "sendFinish" o = Soup.Request.RequestSendFinishMethodInfo
ResolveRequestHTTPMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveRequestHTTPMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveRequestHTTPMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveRequestHTTPMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveRequestHTTPMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveRequestHTTPMethod "getContentLength" o = Soup.Request.RequestGetContentLengthMethodInfo
ResolveRequestHTTPMethod "getContentType" o = Soup.Request.RequestGetContentTypeMethodInfo
ResolveRequestHTTPMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveRequestHTTPMethod "getMessage" o = RequestHTTPGetMessageMethodInfo
ResolveRequestHTTPMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveRequestHTTPMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveRequestHTTPMethod "getSession" o = Soup.Request.RequestGetSessionMethodInfo
ResolveRequestHTTPMethod "getUri" o = Soup.Request.RequestGetUriMethodInfo
ResolveRequestHTTPMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveRequestHTTPMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveRequestHTTPMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveRequestHTTPMethod t RequestHTTP, O.MethodInfo info RequestHTTP p) => OL.IsLabel t (RequestHTTP -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#if ENABLE_OVERLOADING
instance O.HasAttributeList RequestHTTP
type instance O.AttributeList RequestHTTP = RequestHTTPAttributeList
type RequestHTTPAttributeList = ('[ '("session", Soup.Request.RequestSessionPropertyInfo), '("uri", Soup.Request.RequestUriPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList RequestHTTP = RequestHTTPSignalList
type RequestHTTPSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
-- method RequestHTTP::get_message
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "http", argType = TInterface (Name {namespace = "Soup", name = "RequestHTTP"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #SoupRequestHTTP object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TInterface (Name {namespace = "Soup", name = "Message"}))
-- throws : False
-- Skip return : False
foreign import ccall "soup_request_http_get_message" soup_request_http_get_message ::
Ptr RequestHTTP -> -- http : TInterface (Name {namespace = "Soup", name = "RequestHTTP"})
IO (Ptr Soup.Message.Message)
{- |
Gets a new reference to the 'GI.Soup.Objects.Message.Message' associated to this SoupRequest
/Since: 2.40/
-}
requestHTTPGetMessage ::
(B.CallStack.HasCallStack, MonadIO m, IsRequestHTTP a) =>
a
{- ^ /@http@/: a 'GI.Soup.Objects.RequestHTTP.RequestHTTP' object -}
-> m Soup.Message.Message
{- ^ __Returns:__ a new reference to the 'GI.Soup.Objects.Message.Message' -}
requestHTTPGetMessage http = liftIO $ do
http' <- unsafeManagedPtrCastPtr http
result <- soup_request_http_get_message http'
checkUnexpectedReturnNULL "requestHTTPGetMessage" result
result' <- (wrapObject Soup.Message.Message) result
touchManagedPtr http
return result'
#if ENABLE_OVERLOADING
data RequestHTTPGetMessageMethodInfo
instance (signature ~ (m Soup.Message.Message), MonadIO m, IsRequestHTTP a) => O.MethodInfo RequestHTTPGetMessageMethodInfo a signature where
overloadedMethod _ = requestHTTPGetMessage
#endif