module GI.Soup.Objects.Server
(
Server(..) ,
IsServer ,
toServer ,
noServer ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerAcceptIostreamMethodInfo ,
#endif
serverAcceptIostream ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerAddAuthDomainMethodInfo ,
#endif
serverAddAuthDomain ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerAddEarlyHandlerMethodInfo ,
#endif
serverAddEarlyHandler ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerAddHandlerMethodInfo ,
#endif
serverAddHandler ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerAddWebsocketHandlerMethodInfo ,
#endif
serverAddWebsocketHandler ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerDisconnectMethodInfo ,
#endif
serverDisconnect ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerGetAsyncContextMethodInfo ,
#endif
serverGetAsyncContext ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerGetListenerMethodInfo ,
#endif
serverGetListener ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerGetListenersMethodInfo ,
#endif
serverGetListeners ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerGetPortMethodInfo ,
#endif
serverGetPort ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerGetUrisMethodInfo ,
#endif
serverGetUris ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerIsHttpsMethodInfo ,
#endif
serverIsHttps ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerListenMethodInfo ,
#endif
serverListen ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerListenAllMethodInfo ,
#endif
serverListenAll ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerListenFdMethodInfo ,
#endif
serverListenFd ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerListenLocalMethodInfo ,
#endif
serverListenLocal ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerListenSocketMethodInfo ,
#endif
serverListenSocket ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerPauseMessageMethodInfo ,
#endif
serverPauseMessage ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerQuitMethodInfo ,
#endif
serverQuit ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerRemoveAuthDomainMethodInfo ,
#endif
serverRemoveAuthDomain ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerRemoveHandlerMethodInfo ,
#endif
serverRemoveHandler ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerRunMethodInfo ,
#endif
serverRun ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerRunAsyncMethodInfo ,
#endif
serverRunAsync ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerSetSslCertFileMethodInfo ,
#endif
serverSetSslCertFile ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerUnpauseMessageMethodInfo ,
#endif
serverUnpauseMessage ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerAsyncContextPropertyInfo ,
#endif
constructServerAsyncContext ,
getServerAsyncContext ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverAsyncContext ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerHttpAliasesPropertyInfo ,
#endif
clearServerHttpAliases ,
constructServerHttpAliases ,
getServerHttpAliases ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverHttpAliases ,
#endif
setServerHttpAliases ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerHttpsAliasesPropertyInfo ,
#endif
clearServerHttpsAliases ,
constructServerHttpsAliases ,
getServerHttpsAliases ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverHttpsAliases ,
#endif
setServerHttpsAliases ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerInterfacePropertyInfo ,
#endif
constructServerInterface ,
getServerInterface ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverInterface ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerPortPropertyInfo ,
#endif
constructServerPort ,
getServerPort ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverPort ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerRawPathsPropertyInfo ,
#endif
constructServerRawPaths ,
getServerRawPaths ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverRawPaths ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerServerHeaderPropertyInfo ,
#endif
clearServerServerHeader ,
constructServerServerHeader ,
getServerServerHeader ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverServerHeader ,
#endif
setServerServerHeader ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerSslCertFilePropertyInfo ,
#endif
constructServerSslCertFile ,
getServerSslCertFile ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverSslCertFile ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerSslKeyFilePropertyInfo ,
#endif
constructServerSslKeyFile ,
getServerSslKeyFile ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverSslKeyFile ,
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerTlsCertificatePropertyInfo ,
#endif
constructServerTlsCertificate ,
getServerTlsCertificate ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverTlsCertificate ,
#endif
C_ServerRequestAbortedCallback ,
ServerRequestAbortedCallback ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerRequestAbortedSignalInfo ,
#endif
afterServerRequestAborted ,
genClosure_ServerRequestAborted ,
mk_ServerRequestAbortedCallback ,
noServerRequestAbortedCallback ,
onServerRequestAborted ,
wrap_ServerRequestAbortedCallback ,
C_ServerRequestFinishedCallback ,
ServerRequestFinishedCallback ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerRequestFinishedSignalInfo ,
#endif
afterServerRequestFinished ,
genClosure_ServerRequestFinished ,
mk_ServerRequestFinishedCallback ,
noServerRequestFinishedCallback ,
onServerRequestFinished ,
wrap_ServerRequestFinishedCallback ,
C_ServerRequestReadCallback ,
ServerRequestReadCallback ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerRequestReadSignalInfo ,
#endif
afterServerRequestRead ,
genClosure_ServerRequestRead ,
mk_ServerRequestReadCallback ,
noServerRequestReadCallback ,
onServerRequestRead ,
wrap_ServerRequestReadCallback ,
C_ServerRequestStartedCallback ,
ServerRequestStartedCallback ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
ServerRequestStartedSignalInfo ,
#endif
afterServerRequestStarted ,
genClosure_ServerRequestStarted ,
mk_ServerRequestStartedCallback ,
noServerRequestStartedCallback ,
onServerRequestStarted ,
wrap_ServerRequestStartedCallback ,
) 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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Structs.MainContext as GLib.MainContext
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gio.Objects.IOStream as Gio.IOStream
import qualified GI.Gio.Objects.Socket as Gio.Socket
import qualified GI.Gio.Objects.SocketAddress as Gio.SocketAddress
import qualified GI.Gio.Objects.TlsCertificate as Gio.TlsCertificate
import qualified GI.Soup.Callbacks as Soup.Callbacks
import qualified GI.Soup.Flags as Soup.Flags
import qualified GI.Soup.Objects.Address as Soup.Address
import qualified GI.Soup.Objects.AuthDomain as Soup.AuthDomain
import qualified GI.Soup.Objects.Message as Soup.Message
import qualified GI.Soup.Objects.Socket as Soup.Socket
import qualified GI.Soup.Structs.ClientContext as Soup.ClientContext
import qualified GI.Soup.Structs.URI as Soup.URI
newtype Server = Server (ManagedPtr Server)
foreign import ccall "soup_server_get_type"
c_soup_server_get_type :: IO GType
instance GObject Server where
gobjectType _ = c_soup_server_get_type
class GObject o => IsServer o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError Server a) =>
IsServer a
#endif
instance IsServer Server
instance GObject.Object.IsObject Server
toServer :: (MonadIO m, IsServer o) => o -> m Server
toServer = liftIO . unsafeCastTo Server
noServer :: Maybe Server
noServer = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
type family ResolveServerMethod (t :: Symbol) (o :: *) :: * where
ResolveServerMethod "acceptIostream" o = ServerAcceptIostreamMethodInfo
ResolveServerMethod "addAuthDomain" o = ServerAddAuthDomainMethodInfo
ResolveServerMethod "addEarlyHandler" o = ServerAddEarlyHandlerMethodInfo
ResolveServerMethod "addHandler" o = ServerAddHandlerMethodInfo
ResolveServerMethod "addWebsocketHandler" o = ServerAddWebsocketHandlerMethodInfo
ResolveServerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveServerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveServerMethod "disconnect" o = ServerDisconnectMethodInfo
ResolveServerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveServerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveServerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveServerMethod "isHttps" o = ServerIsHttpsMethodInfo
ResolveServerMethod "listen" o = ServerListenMethodInfo
ResolveServerMethod "listenAll" o = ServerListenAllMethodInfo
ResolveServerMethod "listenFd" o = ServerListenFdMethodInfo
ResolveServerMethod "listenLocal" o = ServerListenLocalMethodInfo
ResolveServerMethod "listenSocket" o = ServerListenSocketMethodInfo
ResolveServerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveServerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveServerMethod "pauseMessage" o = ServerPauseMessageMethodInfo
ResolveServerMethod "quit" o = ServerQuitMethodInfo
ResolveServerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveServerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveServerMethod "removeAuthDomain" o = ServerRemoveAuthDomainMethodInfo
ResolveServerMethod "removeHandler" o = ServerRemoveHandlerMethodInfo
ResolveServerMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveServerMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolveServerMethod "run" o = ServerRunMethodInfo
ResolveServerMethod "runAsync" o = ServerRunAsyncMethodInfo
ResolveServerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveServerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveServerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveServerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveServerMethod "unpauseMessage" o = ServerUnpauseMessageMethodInfo
ResolveServerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveServerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveServerMethod "getAsyncContext" o = ServerGetAsyncContextMethodInfo
ResolveServerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveServerMethod "getListener" o = ServerGetListenerMethodInfo
ResolveServerMethod "getListeners" o = ServerGetListenersMethodInfo
ResolveServerMethod "getPort" o = ServerGetPortMethodInfo
ResolveServerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveServerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveServerMethod "getUris" o = ServerGetUrisMethodInfo
ResolveServerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveServerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveServerMethod "setSslCertFile" o = ServerSetSslCertFileMethodInfo
ResolveServerMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveServerMethod t Server, O.MethodInfo info Server p) => O.IsLabelProxy t (Server -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveServerMethod t Server, O.MethodInfo info Server p) => O.IsLabel t (Server -> 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
#endif
type ServerRequestAbortedCallback =
Soup.Message.Message ->
Soup.ClientContext.ClientContext ->
IO ()
noServerRequestAbortedCallback :: Maybe ServerRequestAbortedCallback
noServerRequestAbortedCallback = Nothing
type C_ServerRequestAbortedCallback =
Ptr () ->
Ptr Soup.Message.Message ->
Ptr Soup.ClientContext.ClientContext ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ServerRequestAbortedCallback :: C_ServerRequestAbortedCallback -> IO (FunPtr C_ServerRequestAbortedCallback)
genClosure_ServerRequestAborted :: ServerRequestAbortedCallback -> IO Closure
genClosure_ServerRequestAborted cb = do
let cb' = wrap_ServerRequestAbortedCallback cb
mk_ServerRequestAbortedCallback cb' >>= newCClosure
wrap_ServerRequestAbortedCallback ::
ServerRequestAbortedCallback ->
Ptr () ->
Ptr Soup.Message.Message ->
Ptr Soup.ClientContext.ClientContext ->
Ptr () ->
IO ()
wrap_ServerRequestAbortedCallback _cb _ message client _ = do
message' <- (newObject Soup.Message.Message) message
B.ManagedPtr.withTransient Soup.ClientContext.ClientContext client $ \client' -> do
_cb message' client'
onServerRequestAborted :: (IsServer a, MonadIO m) => a -> ServerRequestAbortedCallback -> m SignalHandlerId
onServerRequestAborted obj cb = liftIO $ do
let cb' = wrap_ServerRequestAbortedCallback cb
cb'' <- mk_ServerRequestAbortedCallback cb'
connectSignalFunPtr obj "request-aborted" cb'' SignalConnectBefore
afterServerRequestAborted :: (IsServer a, MonadIO m) => a -> ServerRequestAbortedCallback -> m SignalHandlerId
afterServerRequestAborted obj cb = liftIO $ do
let cb' = wrap_ServerRequestAbortedCallback cb
cb'' <- mk_ServerRequestAbortedCallback cb'
connectSignalFunPtr obj "request-aborted" cb'' SignalConnectAfter
type ServerRequestFinishedCallback =
Soup.Message.Message ->
Soup.ClientContext.ClientContext ->
IO ()
noServerRequestFinishedCallback :: Maybe ServerRequestFinishedCallback
noServerRequestFinishedCallback = Nothing
type C_ServerRequestFinishedCallback =
Ptr () ->
Ptr Soup.Message.Message ->
Ptr Soup.ClientContext.ClientContext ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ServerRequestFinishedCallback :: C_ServerRequestFinishedCallback -> IO (FunPtr C_ServerRequestFinishedCallback)
genClosure_ServerRequestFinished :: ServerRequestFinishedCallback -> IO Closure
genClosure_ServerRequestFinished cb = do
let cb' = wrap_ServerRequestFinishedCallback cb
mk_ServerRequestFinishedCallback cb' >>= newCClosure
wrap_ServerRequestFinishedCallback ::
ServerRequestFinishedCallback ->
Ptr () ->
Ptr Soup.Message.Message ->
Ptr Soup.ClientContext.ClientContext ->
Ptr () ->
IO ()
wrap_ServerRequestFinishedCallback _cb _ message client _ = do
message' <- (newObject Soup.Message.Message) message
B.ManagedPtr.withTransient Soup.ClientContext.ClientContext client $ \client' -> do
_cb message' client'
onServerRequestFinished :: (IsServer a, MonadIO m) => a -> ServerRequestFinishedCallback -> m SignalHandlerId
onServerRequestFinished obj cb = liftIO $ do
let cb' = wrap_ServerRequestFinishedCallback cb
cb'' <- mk_ServerRequestFinishedCallback cb'
connectSignalFunPtr obj "request-finished" cb'' SignalConnectBefore
afterServerRequestFinished :: (IsServer a, MonadIO m) => a -> ServerRequestFinishedCallback -> m SignalHandlerId
afterServerRequestFinished obj cb = liftIO $ do
let cb' = wrap_ServerRequestFinishedCallback cb
cb'' <- mk_ServerRequestFinishedCallback cb'
connectSignalFunPtr obj "request-finished" cb'' SignalConnectAfter
type ServerRequestReadCallback =
Soup.Message.Message ->
Soup.ClientContext.ClientContext ->
IO ()
noServerRequestReadCallback :: Maybe ServerRequestReadCallback
noServerRequestReadCallback = Nothing
type C_ServerRequestReadCallback =
Ptr () ->
Ptr Soup.Message.Message ->
Ptr Soup.ClientContext.ClientContext ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ServerRequestReadCallback :: C_ServerRequestReadCallback -> IO (FunPtr C_ServerRequestReadCallback)
genClosure_ServerRequestRead :: ServerRequestReadCallback -> IO Closure
genClosure_ServerRequestRead cb = do
let cb' = wrap_ServerRequestReadCallback cb
mk_ServerRequestReadCallback cb' >>= newCClosure
wrap_ServerRequestReadCallback ::
ServerRequestReadCallback ->
Ptr () ->
Ptr Soup.Message.Message ->
Ptr Soup.ClientContext.ClientContext ->
Ptr () ->
IO ()
wrap_ServerRequestReadCallback _cb _ message client _ = do
message' <- (newObject Soup.Message.Message) message
B.ManagedPtr.withTransient Soup.ClientContext.ClientContext client $ \client' -> do
_cb message' client'
onServerRequestRead :: (IsServer a, MonadIO m) => a -> ServerRequestReadCallback -> m SignalHandlerId
onServerRequestRead obj cb = liftIO $ do
let cb' = wrap_ServerRequestReadCallback cb
cb'' <- mk_ServerRequestReadCallback cb'
connectSignalFunPtr obj "request-read" cb'' SignalConnectBefore
afterServerRequestRead :: (IsServer a, MonadIO m) => a -> ServerRequestReadCallback -> m SignalHandlerId
afterServerRequestRead obj cb = liftIO $ do
let cb' = wrap_ServerRequestReadCallback cb
cb'' <- mk_ServerRequestReadCallback cb'
connectSignalFunPtr obj "request-read" cb'' SignalConnectAfter
type ServerRequestStartedCallback =
Soup.Message.Message ->
Soup.ClientContext.ClientContext ->
IO ()
noServerRequestStartedCallback :: Maybe ServerRequestStartedCallback
noServerRequestStartedCallback = Nothing
type C_ServerRequestStartedCallback =
Ptr () ->
Ptr Soup.Message.Message ->
Ptr Soup.ClientContext.ClientContext ->
Ptr () ->
IO ()
foreign import ccall "wrapper"
mk_ServerRequestStartedCallback :: C_ServerRequestStartedCallback -> IO (FunPtr C_ServerRequestStartedCallback)
genClosure_ServerRequestStarted :: ServerRequestStartedCallback -> IO Closure
genClosure_ServerRequestStarted cb = do
let cb' = wrap_ServerRequestStartedCallback cb
mk_ServerRequestStartedCallback cb' >>= newCClosure
wrap_ServerRequestStartedCallback ::
ServerRequestStartedCallback ->
Ptr () ->
Ptr Soup.Message.Message ->
Ptr Soup.ClientContext.ClientContext ->
Ptr () ->
IO ()
wrap_ServerRequestStartedCallback _cb _ message client _ = do
message' <- (newObject Soup.Message.Message) message
B.ManagedPtr.withTransient Soup.ClientContext.ClientContext client $ \client' -> do
_cb message' client'
onServerRequestStarted :: (IsServer a, MonadIO m) => a -> ServerRequestStartedCallback -> m SignalHandlerId
onServerRequestStarted obj cb = liftIO $ do
let cb' = wrap_ServerRequestStartedCallback cb
cb'' <- mk_ServerRequestStartedCallback cb'
connectSignalFunPtr obj "request-started" cb'' SignalConnectBefore
afterServerRequestStarted :: (IsServer a, MonadIO m) => a -> ServerRequestStartedCallback -> m SignalHandlerId
afterServerRequestStarted obj cb = liftIO $ do
let cb' = wrap_ServerRequestStartedCallback cb
cb'' <- mk_ServerRequestStartedCallback cb'
connectSignalFunPtr obj "request-started" cb'' SignalConnectAfter
getServerAsyncContext :: (MonadIO m, IsServer o) => o -> m (Ptr ())
getServerAsyncContext obj = liftIO $ getObjectPropertyPtr obj "async-context"
constructServerAsyncContext :: (IsServer o) => Ptr () -> IO (GValueConstruct o)
constructServerAsyncContext val = constructObjectPropertyPtr "async-context" val
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerAsyncContextPropertyInfo
instance AttrInfo ServerAsyncContextPropertyInfo where
type AttrAllowedOps ServerAsyncContextPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ServerAsyncContextPropertyInfo = (~) (Ptr ())
type AttrBaseTypeConstraint ServerAsyncContextPropertyInfo = IsServer
type AttrGetType ServerAsyncContextPropertyInfo = (Ptr ())
type AttrLabel ServerAsyncContextPropertyInfo = "async-context"
type AttrOrigin ServerAsyncContextPropertyInfo = Server
attrGet _ = getServerAsyncContext
attrSet _ = undefined
attrConstruct _ = constructServerAsyncContext
attrClear _ = undefined
#endif
getServerHttpAliases :: (MonadIO m, IsServer o) => o -> m (Maybe [T.Text])
getServerHttpAliases obj = liftIO $ getObjectPropertyStringArray obj "http-aliases"
setServerHttpAliases :: (MonadIO m, IsServer o) => o -> [T.Text] -> m ()
setServerHttpAliases obj val = liftIO $ setObjectPropertyStringArray obj "http-aliases" (Just val)
constructServerHttpAliases :: (IsServer o) => [T.Text] -> IO (GValueConstruct o)
constructServerHttpAliases val = constructObjectPropertyStringArray "http-aliases" (Just val)
clearServerHttpAliases :: (MonadIO m, IsServer o) => o -> m ()
clearServerHttpAliases obj = liftIO $ setObjectPropertyStringArray obj "http-aliases" (Nothing :: Maybe [T.Text])
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerHttpAliasesPropertyInfo
instance AttrInfo ServerHttpAliasesPropertyInfo where
type AttrAllowedOps ServerHttpAliasesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ServerHttpAliasesPropertyInfo = (~) [T.Text]
type AttrBaseTypeConstraint ServerHttpAliasesPropertyInfo = IsServer
type AttrGetType ServerHttpAliasesPropertyInfo = (Maybe [T.Text])
type AttrLabel ServerHttpAliasesPropertyInfo = "http-aliases"
type AttrOrigin ServerHttpAliasesPropertyInfo = Server
attrGet _ = getServerHttpAliases
attrSet _ = setServerHttpAliases
attrConstruct _ = constructServerHttpAliases
attrClear _ = clearServerHttpAliases
#endif
getServerHttpsAliases :: (MonadIO m, IsServer o) => o -> m (Maybe [T.Text])
getServerHttpsAliases obj = liftIO $ getObjectPropertyStringArray obj "https-aliases"
setServerHttpsAliases :: (MonadIO m, IsServer o) => o -> [T.Text] -> m ()
setServerHttpsAliases obj val = liftIO $ setObjectPropertyStringArray obj "https-aliases" (Just val)
constructServerHttpsAliases :: (IsServer o) => [T.Text] -> IO (GValueConstruct o)
constructServerHttpsAliases val = constructObjectPropertyStringArray "https-aliases" (Just val)
clearServerHttpsAliases :: (MonadIO m, IsServer o) => o -> m ()
clearServerHttpsAliases obj = liftIO $ setObjectPropertyStringArray obj "https-aliases" (Nothing :: Maybe [T.Text])
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerHttpsAliasesPropertyInfo
instance AttrInfo ServerHttpsAliasesPropertyInfo where
type AttrAllowedOps ServerHttpsAliasesPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ServerHttpsAliasesPropertyInfo = (~) [T.Text]
type AttrBaseTypeConstraint ServerHttpsAliasesPropertyInfo = IsServer
type AttrGetType ServerHttpsAliasesPropertyInfo = (Maybe [T.Text])
type AttrLabel ServerHttpsAliasesPropertyInfo = "https-aliases"
type AttrOrigin ServerHttpsAliasesPropertyInfo = Server
attrGet _ = getServerHttpsAliases
attrSet _ = setServerHttpsAliases
attrConstruct _ = constructServerHttpsAliases
attrClear _ = clearServerHttpsAliases
#endif
getServerInterface :: (MonadIO m, IsServer o) => o -> m (Maybe Soup.Address.Address)
getServerInterface obj = liftIO $ getObjectPropertyObject obj "interface" Soup.Address.Address
constructServerInterface :: (IsServer o, Soup.Address.IsAddress a) => a -> IO (GValueConstruct o)
constructServerInterface val = constructObjectPropertyObject "interface" (Just val)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerInterfacePropertyInfo
instance AttrInfo ServerInterfacePropertyInfo where
type AttrAllowedOps ServerInterfacePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ServerInterfacePropertyInfo = Soup.Address.IsAddress
type AttrBaseTypeConstraint ServerInterfacePropertyInfo = IsServer
type AttrGetType ServerInterfacePropertyInfo = (Maybe Soup.Address.Address)
type AttrLabel ServerInterfacePropertyInfo = "interface"
type AttrOrigin ServerInterfacePropertyInfo = Server
attrGet _ = getServerInterface
attrSet _ = undefined
attrConstruct _ = constructServerInterface
attrClear _ = undefined
#endif
getServerPort :: (MonadIO m, IsServer o) => o -> m Word32
getServerPort obj = liftIO $ getObjectPropertyUInt32 obj "port"
constructServerPort :: (IsServer o) => Word32 -> IO (GValueConstruct o)
constructServerPort val = constructObjectPropertyUInt32 "port" val
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerPortPropertyInfo
instance AttrInfo ServerPortPropertyInfo where
type AttrAllowedOps ServerPortPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ServerPortPropertyInfo = (~) Word32
type AttrBaseTypeConstraint ServerPortPropertyInfo = IsServer
type AttrGetType ServerPortPropertyInfo = Word32
type AttrLabel ServerPortPropertyInfo = "port"
type AttrOrigin ServerPortPropertyInfo = Server
attrGet _ = getServerPort
attrSet _ = undefined
attrConstruct _ = constructServerPort
attrClear _ = undefined
#endif
getServerRawPaths :: (MonadIO m, IsServer o) => o -> m Bool
getServerRawPaths obj = liftIO $ getObjectPropertyBool obj "raw-paths"
constructServerRawPaths :: (IsServer o) => Bool -> IO (GValueConstruct o)
constructServerRawPaths val = constructObjectPropertyBool "raw-paths" val
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerRawPathsPropertyInfo
instance AttrInfo ServerRawPathsPropertyInfo where
type AttrAllowedOps ServerRawPathsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]
type AttrSetTypeConstraint ServerRawPathsPropertyInfo = (~) Bool
type AttrBaseTypeConstraint ServerRawPathsPropertyInfo = IsServer
type AttrGetType ServerRawPathsPropertyInfo = Bool
type AttrLabel ServerRawPathsPropertyInfo = "raw-paths"
type AttrOrigin ServerRawPathsPropertyInfo = Server
attrGet _ = getServerRawPaths
attrSet _ = undefined
attrConstruct _ = constructServerRawPaths
attrClear _ = undefined
#endif
getServerServerHeader :: (MonadIO m, IsServer o) => o -> m (Maybe T.Text)
getServerServerHeader obj = liftIO $ getObjectPropertyString obj "server-header"
setServerServerHeader :: (MonadIO m, IsServer o) => o -> T.Text -> m ()
setServerServerHeader obj val = liftIO $ setObjectPropertyString obj "server-header" (Just val)
constructServerServerHeader :: (IsServer o) => T.Text -> IO (GValueConstruct o)
constructServerServerHeader val = constructObjectPropertyString "server-header" (Just val)
clearServerServerHeader :: (MonadIO m, IsServer o) => o -> m ()
clearServerServerHeader obj = liftIO $ setObjectPropertyString obj "server-header" (Nothing :: Maybe T.Text)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerServerHeaderPropertyInfo
instance AttrInfo ServerServerHeaderPropertyInfo where
type AttrAllowedOps ServerServerHeaderPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ServerServerHeaderPropertyInfo = (~) T.Text
type AttrBaseTypeConstraint ServerServerHeaderPropertyInfo = IsServer
type AttrGetType ServerServerHeaderPropertyInfo = (Maybe T.Text)
type AttrLabel ServerServerHeaderPropertyInfo = "server-header"
type AttrOrigin ServerServerHeaderPropertyInfo = Server
attrGet _ = getServerServerHeader
attrSet _ = setServerServerHeader
attrConstruct _ = constructServerServerHeader
attrClear _ = clearServerServerHeader
#endif
getServerSslCertFile :: (MonadIO m, IsServer o) => o -> m (Maybe T.Text)
getServerSslCertFile obj = liftIO $ getObjectPropertyString obj "ssl-cert-file"
constructServerSslCertFile :: (IsServer o) => T.Text -> IO (GValueConstruct o)
constructServerSslCertFile val = constructObjectPropertyString "ssl-cert-file" (Just val)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerSslCertFilePropertyInfo
instance AttrInfo ServerSslCertFilePropertyInfo where
type AttrAllowedOps ServerSslCertFilePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ServerSslCertFilePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint ServerSslCertFilePropertyInfo = IsServer
type AttrGetType ServerSslCertFilePropertyInfo = (Maybe T.Text)
type AttrLabel ServerSslCertFilePropertyInfo = "ssl-cert-file"
type AttrOrigin ServerSslCertFilePropertyInfo = Server
attrGet _ = getServerSslCertFile
attrSet _ = undefined
attrConstruct _ = constructServerSslCertFile
attrClear _ = undefined
#endif
getServerSslKeyFile :: (MonadIO m, IsServer o) => o -> m (Maybe T.Text)
getServerSslKeyFile obj = liftIO $ getObjectPropertyString obj "ssl-key-file"
constructServerSslKeyFile :: (IsServer o) => T.Text -> IO (GValueConstruct o)
constructServerSslKeyFile val = constructObjectPropertyString "ssl-key-file" (Just val)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerSslKeyFilePropertyInfo
instance AttrInfo ServerSslKeyFilePropertyInfo where
type AttrAllowedOps ServerSslKeyFilePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ServerSslKeyFilePropertyInfo = (~) T.Text
type AttrBaseTypeConstraint ServerSslKeyFilePropertyInfo = IsServer
type AttrGetType ServerSslKeyFilePropertyInfo = (Maybe T.Text)
type AttrLabel ServerSslKeyFilePropertyInfo = "ssl-key-file"
type AttrOrigin ServerSslKeyFilePropertyInfo = Server
attrGet _ = getServerSslKeyFile
attrSet _ = undefined
attrConstruct _ = constructServerSslKeyFile
attrClear _ = undefined
#endif
getServerTlsCertificate :: (MonadIO m, IsServer o) => o -> m (Maybe Gio.TlsCertificate.TlsCertificate)
getServerTlsCertificate obj = liftIO $ getObjectPropertyObject obj "tls-certificate" Gio.TlsCertificate.TlsCertificate
constructServerTlsCertificate :: (IsServer o, Gio.TlsCertificate.IsTlsCertificate a) => a -> IO (GValueConstruct o)
constructServerTlsCertificate val = constructObjectPropertyObject "tls-certificate" (Just val)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerTlsCertificatePropertyInfo
instance AttrInfo ServerTlsCertificatePropertyInfo where
type AttrAllowedOps ServerTlsCertificatePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint ServerTlsCertificatePropertyInfo = Gio.TlsCertificate.IsTlsCertificate
type AttrBaseTypeConstraint ServerTlsCertificatePropertyInfo = IsServer
type AttrGetType ServerTlsCertificatePropertyInfo = (Maybe Gio.TlsCertificate.TlsCertificate)
type AttrLabel ServerTlsCertificatePropertyInfo = "tls-certificate"
type AttrOrigin ServerTlsCertificatePropertyInfo = Server
attrGet _ = getServerTlsCertificate
attrSet _ = undefined
attrConstruct _ = constructServerTlsCertificate
attrClear _ = undefined
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList Server
type instance O.AttributeList Server = ServerAttributeList
type ServerAttributeList = ('[ '("asyncContext", ServerAsyncContextPropertyInfo), '("httpAliases", ServerHttpAliasesPropertyInfo), '("httpsAliases", ServerHttpsAliasesPropertyInfo), '("interface", ServerInterfacePropertyInfo), '("port", ServerPortPropertyInfo), '("rawPaths", ServerRawPathsPropertyInfo), '("serverHeader", ServerServerHeaderPropertyInfo), '("sslCertFile", ServerSslCertFilePropertyInfo), '("sslKeyFile", ServerSslKeyFilePropertyInfo), '("tlsCertificate", ServerTlsCertificatePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
serverAsyncContext :: AttrLabelProxy "asyncContext"
serverAsyncContext = AttrLabelProxy
serverHttpAliases :: AttrLabelProxy "httpAliases"
serverHttpAliases = AttrLabelProxy
serverHttpsAliases :: AttrLabelProxy "httpsAliases"
serverHttpsAliases = AttrLabelProxy
serverInterface :: AttrLabelProxy "interface"
serverInterface = AttrLabelProxy
serverPort :: AttrLabelProxy "port"
serverPort = AttrLabelProxy
serverRawPaths :: AttrLabelProxy "rawPaths"
serverRawPaths = AttrLabelProxy
serverServerHeader :: AttrLabelProxy "serverHeader"
serverServerHeader = AttrLabelProxy
serverSslCertFile :: AttrLabelProxy "sslCertFile"
serverSslCertFile = AttrLabelProxy
serverSslKeyFile :: AttrLabelProxy "sslKeyFile"
serverSslKeyFile = AttrLabelProxy
serverTlsCertificate :: AttrLabelProxy "tlsCertificate"
serverTlsCertificate = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerRequestAbortedSignalInfo
instance SignalInfo ServerRequestAbortedSignalInfo where
type HaskellCallbackType ServerRequestAbortedSignalInfo = ServerRequestAbortedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_ServerRequestAbortedCallback cb
cb'' <- mk_ServerRequestAbortedCallback cb'
connectSignalFunPtr obj "request-aborted" cb'' connectMode
data ServerRequestFinishedSignalInfo
instance SignalInfo ServerRequestFinishedSignalInfo where
type HaskellCallbackType ServerRequestFinishedSignalInfo = ServerRequestFinishedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_ServerRequestFinishedCallback cb
cb'' <- mk_ServerRequestFinishedCallback cb'
connectSignalFunPtr obj "request-finished" cb'' connectMode
data ServerRequestReadSignalInfo
instance SignalInfo ServerRequestReadSignalInfo where
type HaskellCallbackType ServerRequestReadSignalInfo = ServerRequestReadCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_ServerRequestReadCallback cb
cb'' <- mk_ServerRequestReadCallback cb'
connectSignalFunPtr obj "request-read" cb'' connectMode
data ServerRequestStartedSignalInfo
instance SignalInfo ServerRequestStartedSignalInfo where
type HaskellCallbackType ServerRequestStartedSignalInfo = ServerRequestStartedCallback
connectSignal _ obj cb connectMode = do
let cb' = wrap_ServerRequestStartedCallback cb
cb'' <- mk_ServerRequestStartedCallback cb'
connectSignalFunPtr obj "request-started" cb'' connectMode
type instance O.SignalList Server = ServerSignalList
type ServerSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo), '("requestAborted", ServerRequestAbortedSignalInfo), '("requestFinished", ServerRequestFinishedSignalInfo), '("requestRead", ServerRequestReadSignalInfo), '("requestStarted", ServerRequestStartedSignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "soup_server_accept_iostream" soup_server_accept_iostream ::
Ptr Server ->
Ptr Gio.IOStream.IOStream ->
Ptr Gio.SocketAddress.SocketAddress ->
Ptr Gio.SocketAddress.SocketAddress ->
Ptr (Ptr GError) ->
IO CInt
serverAcceptIostream ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a, Gio.IOStream.IsIOStream b, Gio.SocketAddress.IsSocketAddress c, Gio.SocketAddress.IsSocketAddress d) =>
a
-> b
-> Maybe (c)
-> Maybe (d)
-> m ()
serverAcceptIostream server stream localAddr remoteAddr = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
stream' <- unsafeManagedPtrCastPtr stream
maybeLocalAddr <- case localAddr of
Nothing -> return nullPtr
Just jLocalAddr -> do
jLocalAddr' <- unsafeManagedPtrCastPtr jLocalAddr
return jLocalAddr'
maybeRemoteAddr <- case remoteAddr of
Nothing -> return nullPtr
Just jRemoteAddr -> do
jRemoteAddr' <- unsafeManagedPtrCastPtr jRemoteAddr
return jRemoteAddr'
onException (do
_ <- propagateGError $ soup_server_accept_iostream server' stream' maybeLocalAddr maybeRemoteAddr
touchManagedPtr server
touchManagedPtr stream
whenJust localAddr touchManagedPtr
whenJust remoteAddr touchManagedPtr
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerAcceptIostreamMethodInfo
instance (signature ~ (b -> Maybe (c) -> Maybe (d) -> m ()), MonadIO m, IsServer a, Gio.IOStream.IsIOStream b, Gio.SocketAddress.IsSocketAddress c, Gio.SocketAddress.IsSocketAddress d) => O.MethodInfo ServerAcceptIostreamMethodInfo a signature where
overloadedMethod _ = serverAcceptIostream
#endif
foreign import ccall "soup_server_add_auth_domain" soup_server_add_auth_domain ::
Ptr Server ->
Ptr Soup.AuthDomain.AuthDomain ->
IO ()
serverAddAuthDomain ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a, Soup.AuthDomain.IsAuthDomain b) =>
a
-> b
-> m ()
serverAddAuthDomain server authDomain = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
authDomain' <- unsafeManagedPtrCastPtr authDomain
soup_server_add_auth_domain server' authDomain'
touchManagedPtr server
touchManagedPtr authDomain
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerAddAuthDomainMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsServer a, Soup.AuthDomain.IsAuthDomain b) => O.MethodInfo ServerAddAuthDomainMethodInfo a signature where
overloadedMethod _ = serverAddAuthDomain
#endif
foreign import ccall "soup_server_add_early_handler" soup_server_add_early_handler ::
Ptr Server ->
CString ->
FunPtr Soup.Callbacks.C_ServerCallback ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
serverAddEarlyHandler ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> Maybe (T.Text)
-> Soup.Callbacks.ServerCallback
-> m ()
serverAddEarlyHandler server path callback = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
maybePath <- case path of
Nothing -> return nullPtr
Just jPath -> do
jPath' <- textToCString jPath
return jPath'
callback' <- Soup.Callbacks.mk_ServerCallback (Soup.Callbacks.wrap_ServerCallback Nothing (Soup.Callbacks.drop_closures_ServerCallback callback))
let userData = castFunPtrToPtr callback'
let destroy = safeFreeFunPtrPtr
soup_server_add_early_handler server' maybePath callback' userData destroy
touchManagedPtr server
freeMem maybePath
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerAddEarlyHandlerMethodInfo
instance (signature ~ (Maybe (T.Text) -> Soup.Callbacks.ServerCallback -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerAddEarlyHandlerMethodInfo a signature where
overloadedMethod _ = serverAddEarlyHandler
#endif
foreign import ccall "soup_server_add_handler" soup_server_add_handler ::
Ptr Server ->
CString ->
FunPtr Soup.Callbacks.C_ServerCallback ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
serverAddHandler ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> Maybe (T.Text)
-> Soup.Callbacks.ServerCallback
-> m ()
serverAddHandler server path callback = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
maybePath <- case path of
Nothing -> return nullPtr
Just jPath -> do
jPath' <- textToCString jPath
return jPath'
callback' <- Soup.Callbacks.mk_ServerCallback (Soup.Callbacks.wrap_ServerCallback Nothing (Soup.Callbacks.drop_closures_ServerCallback callback))
let userData = castFunPtrToPtr callback'
let destroy = safeFreeFunPtrPtr
soup_server_add_handler server' maybePath callback' userData destroy
touchManagedPtr server
freeMem maybePath
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerAddHandlerMethodInfo
instance (signature ~ (Maybe (T.Text) -> Soup.Callbacks.ServerCallback -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerAddHandlerMethodInfo a signature where
overloadedMethod _ = serverAddHandler
#endif
foreign import ccall "soup_server_add_websocket_handler" soup_server_add_websocket_handler ::
Ptr Server ->
CString ->
CString ->
Ptr CString ->
FunPtr Soup.Callbacks.C_ServerWebsocketCallback ->
Ptr () ->
FunPtr GLib.Callbacks.C_DestroyNotify ->
IO ()
serverAddWebsocketHandler ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> Maybe (T.Text)
-> Maybe (T.Text)
-> Maybe ([T.Text])
-> Soup.Callbacks.ServerWebsocketCallback
-> m ()
serverAddWebsocketHandler server path origin protocols callback = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
maybePath <- case path of
Nothing -> return nullPtr
Just jPath -> do
jPath' <- textToCString jPath
return jPath'
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'
callback' <- Soup.Callbacks.mk_ServerWebsocketCallback (Soup.Callbacks.wrap_ServerWebsocketCallback Nothing (Soup.Callbacks.drop_closures_ServerWebsocketCallback callback))
let userData = castFunPtrToPtr callback'
let destroy = safeFreeFunPtrPtr
soup_server_add_websocket_handler server' maybePath maybeOrigin maybeProtocols callback' userData destroy
touchManagedPtr server
freeMem maybePath
freeMem maybeOrigin
mapZeroTerminatedCArray freeMem maybeProtocols
freeMem maybeProtocols
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerAddWebsocketHandlerMethodInfo
instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> Maybe ([T.Text]) -> Soup.Callbacks.ServerWebsocketCallback -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerAddWebsocketHandlerMethodInfo a signature where
overloadedMethod _ = serverAddWebsocketHandler
#endif
foreign import ccall "soup_server_disconnect" soup_server_disconnect ::
Ptr Server ->
IO ()
serverDisconnect ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> m ()
serverDisconnect server = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
soup_server_disconnect server'
touchManagedPtr server
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerDisconnectMethodInfo
instance (signature ~ (m ()), MonadIO m, IsServer a) => O.MethodInfo ServerDisconnectMethodInfo a signature where
overloadedMethod _ = serverDisconnect
#endif
foreign import ccall "soup_server_get_async_context" soup_server_get_async_context ::
Ptr Server ->
IO (Ptr GLib.MainContext.MainContext)
serverGetAsyncContext ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> m (Maybe GLib.MainContext.MainContext)
serverGetAsyncContext server = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
result <- soup_server_get_async_context server'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newBoxed GLib.MainContext.MainContext) result'
return result''
touchManagedPtr server
return maybeResult
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerGetAsyncContextMethodInfo
instance (signature ~ (m (Maybe GLib.MainContext.MainContext)), MonadIO m, IsServer a) => O.MethodInfo ServerGetAsyncContextMethodInfo a signature where
overloadedMethod _ = serverGetAsyncContext
#endif
foreign import ccall "soup_server_get_listener" soup_server_get_listener ::
Ptr Server ->
IO (Ptr Soup.Socket.Socket)
serverGetListener ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> m Soup.Socket.Socket
serverGetListener server = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
result <- soup_server_get_listener server'
checkUnexpectedReturnNULL "serverGetListener" result
result' <- (newObject Soup.Socket.Socket) result
touchManagedPtr server
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerGetListenerMethodInfo
instance (signature ~ (m Soup.Socket.Socket), MonadIO m, IsServer a) => O.MethodInfo ServerGetListenerMethodInfo a signature where
overloadedMethod _ = serverGetListener
#endif
foreign import ccall "soup_server_get_listeners" soup_server_get_listeners ::
Ptr Server ->
IO (Ptr (GSList (Ptr Gio.Socket.Socket)))
serverGetListeners ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> m [Gio.Socket.Socket]
serverGetListeners server = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
result <- soup_server_get_listeners server'
result' <- unpackGSList result
result'' <- mapM (newObject Gio.Socket.Socket) result'
g_slist_free result
touchManagedPtr server
return result''
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerGetListenersMethodInfo
instance (signature ~ (m [Gio.Socket.Socket]), MonadIO m, IsServer a) => O.MethodInfo ServerGetListenersMethodInfo a signature where
overloadedMethod _ = serverGetListeners
#endif
foreign import ccall "soup_server_get_port" soup_server_get_port ::
Ptr Server ->
IO Word32
serverGetPort ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> m Word32
serverGetPort server = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
result <- soup_server_get_port server'
touchManagedPtr server
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerGetPortMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsServer a) => O.MethodInfo ServerGetPortMethodInfo a signature where
overloadedMethod _ = serverGetPort
#endif
foreign import ccall "soup_server_get_uris" soup_server_get_uris ::
Ptr Server ->
IO (Ptr (GSList (Ptr Soup.URI.URI)))
serverGetUris ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> m [Soup.URI.URI]
serverGetUris server = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
result <- soup_server_get_uris server'
result' <- unpackGSList result
result'' <- mapM (wrapBoxed Soup.URI.URI) result'
g_slist_free result
touchManagedPtr server
return result''
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerGetUrisMethodInfo
instance (signature ~ (m [Soup.URI.URI]), MonadIO m, IsServer a) => O.MethodInfo ServerGetUrisMethodInfo a signature where
overloadedMethod _ = serverGetUris
#endif
foreign import ccall "soup_server_is_https" soup_server_is_https ::
Ptr Server ->
IO CInt
serverIsHttps ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> m Bool
serverIsHttps server = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
result <- soup_server_is_https server'
let result' = (/= 0) result
touchManagedPtr server
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerIsHttpsMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsServer a) => O.MethodInfo ServerIsHttpsMethodInfo a signature where
overloadedMethod _ = serverIsHttps
#endif
foreign import ccall "soup_server_listen" soup_server_listen ::
Ptr Server ->
Ptr Gio.SocketAddress.SocketAddress ->
CUInt ->
Ptr (Ptr GError) ->
IO CInt
serverListen ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a, Gio.SocketAddress.IsSocketAddress b) =>
a
-> b
-> [Soup.Flags.ServerListenOptions]
-> m ()
serverListen server address options = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
address' <- unsafeManagedPtrCastPtr address
let options' = gflagsToWord options
onException (do
_ <- propagateGError $ soup_server_listen server' address' options'
touchManagedPtr server
touchManagedPtr address
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerListenMethodInfo
instance (signature ~ (b -> [Soup.Flags.ServerListenOptions] -> m ()), MonadIO m, IsServer a, Gio.SocketAddress.IsSocketAddress b) => O.MethodInfo ServerListenMethodInfo a signature where
overloadedMethod _ = serverListen
#endif
foreign import ccall "soup_server_listen_all" soup_server_listen_all ::
Ptr Server ->
Word32 ->
CUInt ->
Ptr (Ptr GError) ->
IO CInt
serverListenAll ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> Word32
-> [Soup.Flags.ServerListenOptions]
-> m ()
serverListenAll server port options = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
let options' = gflagsToWord options
onException (do
_ <- propagateGError $ soup_server_listen_all server' port options'
touchManagedPtr server
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerListenAllMethodInfo
instance (signature ~ (Word32 -> [Soup.Flags.ServerListenOptions] -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerListenAllMethodInfo a signature where
overloadedMethod _ = serverListenAll
#endif
foreign import ccall "soup_server_listen_fd" soup_server_listen_fd ::
Ptr Server ->
Int32 ->
CUInt ->
Ptr (Ptr GError) ->
IO CInt
serverListenFd ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> Int32
-> [Soup.Flags.ServerListenOptions]
-> m ()
serverListenFd server fd options = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
let options' = gflagsToWord options
onException (do
_ <- propagateGError $ soup_server_listen_fd server' fd options'
touchManagedPtr server
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerListenFdMethodInfo
instance (signature ~ (Int32 -> [Soup.Flags.ServerListenOptions] -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerListenFdMethodInfo a signature where
overloadedMethod _ = serverListenFd
#endif
foreign import ccall "soup_server_listen_local" soup_server_listen_local ::
Ptr Server ->
Word32 ->
CUInt ->
Ptr (Ptr GError) ->
IO CInt
serverListenLocal ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> Word32
-> [Soup.Flags.ServerListenOptions]
-> m ()
serverListenLocal server port options = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
let options' = gflagsToWord options
onException (do
_ <- propagateGError $ soup_server_listen_local server' port options'
touchManagedPtr server
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerListenLocalMethodInfo
instance (signature ~ (Word32 -> [Soup.Flags.ServerListenOptions] -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerListenLocalMethodInfo a signature where
overloadedMethod _ = serverListenLocal
#endif
foreign import ccall "soup_server_listen_socket" soup_server_listen_socket ::
Ptr Server ->
Ptr Gio.Socket.Socket ->
CUInt ->
Ptr (Ptr GError) ->
IO CInt
serverListenSocket ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a, Gio.Socket.IsSocket b) =>
a
-> b
-> [Soup.Flags.ServerListenOptions]
-> m ()
serverListenSocket server socket options = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
socket' <- unsafeManagedPtrCastPtr socket
let options' = gflagsToWord options
onException (do
_ <- propagateGError $ soup_server_listen_socket server' socket' options'
touchManagedPtr server
touchManagedPtr socket
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerListenSocketMethodInfo
instance (signature ~ (b -> [Soup.Flags.ServerListenOptions] -> m ()), MonadIO m, IsServer a, Gio.Socket.IsSocket b) => O.MethodInfo ServerListenSocketMethodInfo a signature where
overloadedMethod _ = serverListenSocket
#endif
foreign import ccall "soup_server_pause_message" soup_server_pause_message ::
Ptr Server ->
Ptr Soup.Message.Message ->
IO ()
serverPauseMessage ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a, Soup.Message.IsMessage b) =>
a
-> b
-> m ()
serverPauseMessage server msg = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
msg' <- unsafeManagedPtrCastPtr msg
soup_server_pause_message server' msg'
touchManagedPtr server
touchManagedPtr msg
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerPauseMessageMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsServer a, Soup.Message.IsMessage b) => O.MethodInfo ServerPauseMessageMethodInfo a signature where
overloadedMethod _ = serverPauseMessage
#endif
foreign import ccall "soup_server_quit" soup_server_quit ::
Ptr Server ->
IO ()
serverQuit ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> m ()
serverQuit server = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
soup_server_quit server'
touchManagedPtr server
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerQuitMethodInfo
instance (signature ~ (m ()), MonadIO m, IsServer a) => O.MethodInfo ServerQuitMethodInfo a signature where
overloadedMethod _ = serverQuit
#endif
foreign import ccall "soup_server_remove_auth_domain" soup_server_remove_auth_domain ::
Ptr Server ->
Ptr Soup.AuthDomain.AuthDomain ->
IO ()
serverRemoveAuthDomain ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a, Soup.AuthDomain.IsAuthDomain b) =>
a
-> b
-> m ()
serverRemoveAuthDomain server authDomain = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
authDomain' <- unsafeManagedPtrCastPtr authDomain
soup_server_remove_auth_domain server' authDomain'
touchManagedPtr server
touchManagedPtr authDomain
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerRemoveAuthDomainMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsServer a, Soup.AuthDomain.IsAuthDomain b) => O.MethodInfo ServerRemoveAuthDomainMethodInfo a signature where
overloadedMethod _ = serverRemoveAuthDomain
#endif
foreign import ccall "soup_server_remove_handler" soup_server_remove_handler ::
Ptr Server ->
CString ->
IO ()
serverRemoveHandler ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> T.Text
-> m ()
serverRemoveHandler server path = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
path' <- textToCString path
soup_server_remove_handler server' path'
touchManagedPtr server
freeMem path'
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerRemoveHandlerMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerRemoveHandlerMethodInfo a signature where
overloadedMethod _ = serverRemoveHandler
#endif
foreign import ccall "soup_server_run" soup_server_run ::
Ptr Server ->
IO ()
serverRun ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> m ()
serverRun server = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
soup_server_run server'
touchManagedPtr server
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerRunMethodInfo
instance (signature ~ (m ()), MonadIO m, IsServer a) => O.MethodInfo ServerRunMethodInfo a signature where
overloadedMethod _ = serverRun
#endif
foreign import ccall "soup_server_run_async" soup_server_run_async ::
Ptr Server ->
IO ()
serverRunAsync ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> m ()
serverRunAsync server = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
soup_server_run_async server'
touchManagedPtr server
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerRunAsyncMethodInfo
instance (signature ~ (m ()), MonadIO m, IsServer a) => O.MethodInfo ServerRunAsyncMethodInfo a signature where
overloadedMethod _ = serverRunAsync
#endif
foreign import ccall "soup_server_set_ssl_cert_file" soup_server_set_ssl_cert_file ::
Ptr Server ->
CString ->
CString ->
Ptr (Ptr GError) ->
IO CInt
serverSetSslCertFile ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a) =>
a
-> T.Text
-> T.Text
-> m ()
serverSetSslCertFile server sslCertFile sslKeyFile = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
sslCertFile' <- textToCString sslCertFile
sslKeyFile' <- textToCString sslKeyFile
onException (do
_ <- propagateGError $ soup_server_set_ssl_cert_file server' sslCertFile' sslKeyFile'
touchManagedPtr server
freeMem sslCertFile'
freeMem sslKeyFile'
return ()
) (do
freeMem sslCertFile'
freeMem sslKeyFile'
)
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerSetSslCertFileMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsServer a) => O.MethodInfo ServerSetSslCertFileMethodInfo a signature where
overloadedMethod _ = serverSetSslCertFile
#endif
foreign import ccall "soup_server_unpause_message" soup_server_unpause_message ::
Ptr Server ->
Ptr Soup.Message.Message ->
IO ()
serverUnpauseMessage ::
(B.CallStack.HasCallStack, MonadIO m, IsServer a, Soup.Message.IsMessage b) =>
a
-> b
-> m ()
serverUnpauseMessage server msg = liftIO $ do
server' <- unsafeManagedPtrCastPtr server
msg' <- unsafeManagedPtrCastPtr msg
soup_server_unpause_message server' msg'
touchManagedPtr server
touchManagedPtr msg
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data ServerUnpauseMessageMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsServer a, Soup.Message.IsMessage b) => O.MethodInfo ServerUnpauseMessageMethodInfo a signature where
overloadedMethod _ = serverUnpauseMessage
#endif