Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
- Exported types
- Methods
- serverAcceptIostream
- serverAddAuthDomain
- serverAddEarlyHandler
- serverAddHandler
- serverAddWebsocketHandler
- serverDisconnect
- serverGetAsyncContext
- serverGetListener
- serverGetListeners
- serverGetPort
- serverGetUris
- serverIsHttps
- serverListen
- serverListenAll
- serverListenFd
- serverListenLocal
- serverListenSocket
- serverPauseMessage
- serverQuit
- serverRemoveAuthDomain
- serverRemoveHandler
- serverRun
- serverRunAsync
- serverSetSslCertFile
- serverUnpauseMessage
- Properties
- Signals
- newtype Server = Server (ForeignPtr Server)
- class GObject o => ServerK o
- toServer :: ServerK o => o -> IO Server
- noServer :: Maybe Server
- serverAcceptIostream :: (MonadIO m, ServerK a, IOStreamK b, SocketAddressK c, SocketAddressK d) => a -> b -> Maybe c -> Maybe d -> m ()
- serverAddAuthDomain :: (MonadIO m, ServerK a, AuthDomainK b) => a -> b -> m ()
- serverAddEarlyHandler :: (MonadIO m, ServerK a) => a -> Maybe Text -> ServerCallback -> m ()
- serverAddHandler :: (MonadIO m, ServerK a) => a -> Maybe Text -> ServerCallback -> m ()
- serverAddWebsocketHandler :: (MonadIO m, ServerK a) => a -> Maybe Text -> Maybe Text -> Maybe [Text] -> ServerWebsocketCallback -> m ()
- serverDisconnect :: (MonadIO m, ServerK a) => a -> m ()
- serverGetAsyncContext :: (MonadIO m, ServerK a) => a -> m MainContext
- serverGetListener :: (MonadIO m, ServerK a) => a -> m Socket
- serverGetListeners :: (MonadIO m, ServerK a) => a -> m [Socket]
- serverGetPort :: (MonadIO m, ServerK a) => a -> m Word32
- serverGetUris :: (MonadIO m, ServerK a) => a -> m [URI]
- serverIsHttps :: (MonadIO m, ServerK a) => a -> m Bool
- serverListen :: (MonadIO m, ServerK a, SocketAddressK b) => a -> b -> [ServerListenOptions] -> m ()
- serverListenAll :: (MonadIO m, ServerK a) => a -> Word32 -> [ServerListenOptions] -> m ()
- serverListenFd :: (MonadIO m, ServerK a) => a -> Int32 -> [ServerListenOptions] -> m ()
- serverListenLocal :: (MonadIO m, ServerK a) => a -> Word32 -> [ServerListenOptions] -> m ()
- serverListenSocket :: (MonadIO m, ServerK a, SocketK b) => a -> b -> [ServerListenOptions] -> m ()
- serverPauseMessage :: (MonadIO m, ServerK a, MessageK b) => a -> b -> m ()
- serverQuit :: (MonadIO m, ServerK a) => a -> m ()
- serverRemoveAuthDomain :: (MonadIO m, ServerK a, AuthDomainK b) => a -> b -> m ()
- serverRemoveHandler :: (MonadIO m, ServerK a) => a -> Text -> m ()
- serverRun :: (MonadIO m, ServerK a) => a -> m ()
- serverRunAsync :: (MonadIO m, ServerK a) => a -> m ()
- serverSetSslCertFile :: (MonadIO m, ServerK a) => a -> Text -> Text -> m ()
- serverUnpauseMessage :: (MonadIO m, ServerK a, MessageK b) => a -> b -> m ()
- data ServerAsyncContextPropertyInfo
- constructServerAsyncContext :: Ptr () -> IO ([Char], GValue)
- getServerAsyncContext :: (MonadIO m, ServerK o) => o -> m (Ptr ())
- data ServerHttpAliasesPropertyInfo
- constructServerHttpAliases :: [Text] -> IO ([Char], GValue)
- getServerHttpAliases :: (MonadIO m, ServerK o) => o -> m [Text]
- setServerHttpAliases :: (MonadIO m, ServerK o) => o -> [Text] -> m ()
- data ServerHttpsAliasesPropertyInfo
- constructServerHttpsAliases :: [Text] -> IO ([Char], GValue)
- getServerHttpsAliases :: (MonadIO m, ServerK o) => o -> m [Text]
- setServerHttpsAliases :: (MonadIO m, ServerK o) => o -> [Text] -> m ()
- data ServerInterfacePropertyInfo
- constructServerInterface :: AddressK a => a -> IO ([Char], GValue)
- getServerInterface :: (MonadIO m, ServerK o) => o -> m Address
- data ServerPortPropertyInfo
- constructServerPort :: Word32 -> IO ([Char], GValue)
- getServerPort :: (MonadIO m, ServerK o) => o -> m Word32
- data ServerRawPathsPropertyInfo
- constructServerRawPaths :: Bool -> IO ([Char], GValue)
- getServerRawPaths :: (MonadIO m, ServerK o) => o -> m Bool
- data ServerServerHeaderPropertyInfo
- constructServerServerHeader :: Text -> IO ([Char], GValue)
- getServerServerHeader :: (MonadIO m, ServerK o) => o -> m Text
- setServerServerHeader :: (MonadIO m, ServerK o) => o -> Text -> m ()
- data ServerSslCertFilePropertyInfo
- constructServerSslCertFile :: Text -> IO ([Char], GValue)
- getServerSslCertFile :: (MonadIO m, ServerK o) => o -> m Text
- data ServerSslKeyFilePropertyInfo
- constructServerSslKeyFile :: Text -> IO ([Char], GValue)
- getServerSslKeyFile :: (MonadIO m, ServerK o) => o -> m Text
- data ServerTlsCertificatePropertyInfo
- constructServerTlsCertificate :: TlsCertificateK a => a -> IO ([Char], GValue)
- getServerTlsCertificate :: (MonadIO m, ServerK o) => o -> m TlsCertificate
- type ServerRequestAbortedCallback = Message -> ClientContext -> IO ()
- type ServerRequestAbortedCallbackC = Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO ()
- data ServerRequestAbortedSignalInfo
- afterServerRequestAborted :: (GObject a, MonadIO m) => a -> ServerRequestAbortedCallback -> m SignalHandlerId
- mkServerRequestAbortedCallback :: ServerRequestAbortedCallbackC -> IO (FunPtr ServerRequestAbortedCallbackC)
- noServerRequestAbortedCallback :: Maybe ServerRequestAbortedCallback
- onServerRequestAborted :: (GObject a, MonadIO m) => a -> ServerRequestAbortedCallback -> m SignalHandlerId
- serverRequestAbortedCallbackWrapper :: ServerRequestAbortedCallback -> Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO ()
- serverRequestAbortedClosure :: ServerRequestAbortedCallback -> IO Closure
- type ServerRequestFinishedCallback = Message -> ClientContext -> IO ()
- type ServerRequestFinishedCallbackC = Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO ()
- data ServerRequestFinishedSignalInfo
- afterServerRequestFinished :: (GObject a, MonadIO m) => a -> ServerRequestFinishedCallback -> m SignalHandlerId
- mkServerRequestFinishedCallback :: ServerRequestFinishedCallbackC -> IO (FunPtr ServerRequestFinishedCallbackC)
- noServerRequestFinishedCallback :: Maybe ServerRequestFinishedCallback
- onServerRequestFinished :: (GObject a, MonadIO m) => a -> ServerRequestFinishedCallback -> m SignalHandlerId
- serverRequestFinishedCallbackWrapper :: ServerRequestFinishedCallback -> Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO ()
- serverRequestFinishedClosure :: ServerRequestFinishedCallback -> IO Closure
- type ServerRequestReadCallback = Message -> ClientContext -> IO ()
- type ServerRequestReadCallbackC = Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO ()
- data ServerRequestReadSignalInfo
- afterServerRequestRead :: (GObject a, MonadIO m) => a -> ServerRequestReadCallback -> m SignalHandlerId
- mkServerRequestReadCallback :: ServerRequestReadCallbackC -> IO (FunPtr ServerRequestReadCallbackC)
- noServerRequestReadCallback :: Maybe ServerRequestReadCallback
- onServerRequestRead :: (GObject a, MonadIO m) => a -> ServerRequestReadCallback -> m SignalHandlerId
- serverRequestReadCallbackWrapper :: ServerRequestReadCallback -> Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO ()
- serverRequestReadClosure :: ServerRequestReadCallback -> IO Closure
- type ServerRequestStartedCallback = Message -> ClientContext -> IO ()
- type ServerRequestStartedCallbackC = Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO ()
- data ServerRequestStartedSignalInfo
- afterServerRequestStarted :: (GObject a, MonadIO m) => a -> ServerRequestStartedCallback -> m SignalHandlerId
- mkServerRequestStartedCallback :: ServerRequestStartedCallbackC -> IO (FunPtr ServerRequestStartedCallbackC)
- noServerRequestStartedCallback :: Maybe ServerRequestStartedCallback
- onServerRequestStarted :: (GObject a, MonadIO m) => a -> ServerRequestStartedCallback -> m SignalHandlerId
- serverRequestStartedCallbackWrapper :: ServerRequestStartedCallback -> Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO ()
- serverRequestStartedClosure :: ServerRequestStartedCallback -> IO Closure
Exported types
GObject Server | |
type ParentTypes Server | |
type AttributeList Server | |
type SignalList Server |
Methods
serverAcceptIostream
serverAcceptIostream :: (MonadIO m, ServerK a, IOStreamK b, SocketAddressK c, SocketAddressK d) => a -> b -> Maybe c -> Maybe d -> m () Source
serverAddAuthDomain
serverAddAuthDomain :: (MonadIO m, ServerK a, AuthDomainK b) => a -> b -> m () Source
serverAddEarlyHandler
serverAddEarlyHandler :: (MonadIO m, ServerK a) => a -> Maybe Text -> ServerCallback -> m () Source
serverAddHandler
serverAddHandler :: (MonadIO m, ServerK a) => a -> Maybe Text -> ServerCallback -> m () Source
serverAddWebsocketHandler
serverAddWebsocketHandler :: (MonadIO m, ServerK a) => a -> Maybe Text -> Maybe Text -> Maybe [Text] -> ServerWebsocketCallback -> m () Source
serverDisconnect
serverDisconnect :: (MonadIO m, ServerK a) => a -> m () Source
serverGetAsyncContext
serverGetAsyncContext :: (MonadIO m, ServerK a) => a -> m MainContext Source
Deprecated: If you are using soup_server_listen(), etc, thenthe server listens on the thread-default #GMainContext, and thisproperty is ignored.
serverGetListener
serverGetListener :: (MonadIO m, ServerK a) => a -> m Socket Source
serverGetListeners
serverGetListeners :: (MonadIO m, ServerK a) => a -> m [Socket] Source
serverGetPort
serverGetPort :: (MonadIO m, ServerK a) => a -> m Word32 Source
Deprecated: If you are using soup_server_listen(), etc, then usesoup_server_get_uris() to get a list of all listening addresses.
serverGetUris
serverGetUris :: (MonadIO m, ServerK a) => a -> m [URI] Source
serverIsHttps
serverIsHttps :: (MonadIO m, ServerK a) => a -> m Bool Source
serverListen
serverListen :: (MonadIO m, ServerK a, SocketAddressK b) => a -> b -> [ServerListenOptions] -> m () Source
serverListenAll
serverListenAll :: (MonadIO m, ServerK a) => a -> Word32 -> [ServerListenOptions] -> m () Source
serverListenFd
serverListenFd :: (MonadIO m, ServerK a) => a -> Int32 -> [ServerListenOptions] -> m () Source
serverListenLocal
serverListenLocal :: (MonadIO m, ServerK a) => a -> Word32 -> [ServerListenOptions] -> m () Source
serverListenSocket
serverListenSocket :: (MonadIO m, ServerK a, SocketK b) => a -> b -> [ServerListenOptions] -> m () Source
serverPauseMessage
serverPauseMessage :: (MonadIO m, ServerK a, MessageK b) => a -> b -> m () Source
serverQuit
serverQuit :: (MonadIO m, ServerK a) => a -> m () Source
Deprecated: When using soup_server_listen(), etc, the server willalways listen for connections, and will process them whenever thethread-default #GMainContext is running.
serverRemoveAuthDomain
serverRemoveAuthDomain :: (MonadIO m, ServerK a, AuthDomainK b) => a -> b -> m () Source
serverRemoveHandler
serverRemoveHandler :: (MonadIO m, ServerK a) => a -> Text -> m () Source
serverRun
serverRun :: (MonadIO m, ServerK a) => a -> m () Source
Deprecated: When using soup_server_listen(), etc, the server willalways listen for connections, and will process them whenever thethread-default #GMainContext is running.
serverRunAsync
serverRunAsync :: (MonadIO m, ServerK a) => a -> m () Source
Deprecated: When using soup_server_listen(), etc, the server willalways listen for connections, and will process them whenever thethread-default #GMainContext is running.
serverSetSslCertFile
serverUnpauseMessage
serverUnpauseMessage :: (MonadIO m, ServerK a, MessageK b) => a -> b -> m () Source
Properties
AsyncContext
data ServerAsyncContextPropertyInfo Source
AttrInfo ServerAsyncContextPropertyInfo | |
type AttrLabel ServerAsyncContextPropertyInfo = "Server::async-context" | |
type AttrGetType ServerAsyncContextPropertyInfo = Ptr () | |
type AttrBaseTypeConstraint ServerAsyncContextPropertyInfo = ServerK | |
type AttrSetTypeConstraint ServerAsyncContextPropertyInfo = * ~ Ptr () | |
type AttrAllowedOps ServerAsyncContextPropertyInfo = (:) AttrOpTag AttrConstruct ((:) AttrOpTag AttrGet ([] AttrOpTag)) |
getServerAsyncContext :: (MonadIO m, ServerK o) => o -> m (Ptr ()) Source
HttpAliases
data ServerHttpAliasesPropertyInfo Source
AttrInfo ServerHttpAliasesPropertyInfo | |
type AttrLabel ServerHttpAliasesPropertyInfo = "Server::http-aliases" | |
type AttrGetType ServerHttpAliasesPropertyInfo = [Text] | |
type AttrBaseTypeConstraint ServerHttpAliasesPropertyInfo = ServerK | |
type AttrSetTypeConstraint ServerHttpAliasesPropertyInfo = * ~ [Text] | |
type AttrAllowedOps ServerHttpAliasesPropertyInfo = (:) AttrOpTag AttrSet ((:) AttrOpTag AttrConstruct ((:) AttrOpTag AttrGet ([] AttrOpTag))) |
getServerHttpAliases :: (MonadIO m, ServerK o) => o -> m [Text] Source
setServerHttpAliases :: (MonadIO m, ServerK o) => o -> [Text] -> m () Source
HttpsAliases
data ServerHttpsAliasesPropertyInfo Source
AttrInfo ServerHttpsAliasesPropertyInfo | |
type AttrLabel ServerHttpsAliasesPropertyInfo = "Server::https-aliases" | |
type AttrGetType ServerHttpsAliasesPropertyInfo = [Text] | |
type AttrBaseTypeConstraint ServerHttpsAliasesPropertyInfo = ServerK | |
type AttrSetTypeConstraint ServerHttpsAliasesPropertyInfo = * ~ [Text] | |
type AttrAllowedOps ServerHttpsAliasesPropertyInfo = (:) AttrOpTag AttrSet ((:) AttrOpTag AttrConstruct ((:) AttrOpTag AttrGet ([] AttrOpTag))) |
getServerHttpsAliases :: (MonadIO m, ServerK o) => o -> m [Text] Source
setServerHttpsAliases :: (MonadIO m, ServerK o) => o -> [Text] -> m () Source
Interface
data ServerInterfacePropertyInfo Source
AttrInfo ServerInterfacePropertyInfo | |
type AttrLabel ServerInterfacePropertyInfo = "Server::interface" | |
type AttrGetType ServerInterfacePropertyInfo = Address | |
type AttrBaseTypeConstraint ServerInterfacePropertyInfo = ServerK | |
type AttrSetTypeConstraint ServerInterfacePropertyInfo = AddressK | |
type AttrAllowedOps ServerInterfacePropertyInfo = (:) AttrOpTag AttrConstruct ((:) AttrOpTag AttrGet ([] AttrOpTag)) |
getServerInterface :: (MonadIO m, ServerK o) => o -> m Address Source
Port
data ServerPortPropertyInfo Source
AttrInfo ServerPortPropertyInfo | |
type AttrLabel ServerPortPropertyInfo = "Server::port" | |
type AttrGetType ServerPortPropertyInfo = Word32 | |
type AttrBaseTypeConstraint ServerPortPropertyInfo = ServerK | |
type AttrSetTypeConstraint ServerPortPropertyInfo = * ~ Word32 | |
type AttrAllowedOps ServerPortPropertyInfo = (:) AttrOpTag AttrConstruct ((:) AttrOpTag AttrGet ([] AttrOpTag)) |
getServerPort :: (MonadIO m, ServerK o) => o -> m Word32 Source
RawPaths
data ServerRawPathsPropertyInfo Source
AttrInfo ServerRawPathsPropertyInfo | |
type AttrLabel ServerRawPathsPropertyInfo = "Server::raw-paths" | |
type AttrGetType ServerRawPathsPropertyInfo = Bool | |
type AttrBaseTypeConstraint ServerRawPathsPropertyInfo = ServerK | |
type AttrSetTypeConstraint ServerRawPathsPropertyInfo = * ~ Bool | |
type AttrAllowedOps ServerRawPathsPropertyInfo = (:) AttrOpTag AttrConstruct ((:) AttrOpTag AttrGet ([] AttrOpTag)) |
getServerRawPaths :: (MonadIO m, ServerK o) => o -> m Bool Source
ServerHeader
data ServerServerHeaderPropertyInfo Source
AttrInfo ServerServerHeaderPropertyInfo | |
type AttrLabel ServerServerHeaderPropertyInfo = "Server::server-header" | |
type AttrGetType ServerServerHeaderPropertyInfo = Text | |
type AttrBaseTypeConstraint ServerServerHeaderPropertyInfo = ServerK | |
type AttrSetTypeConstraint ServerServerHeaderPropertyInfo = * ~ Text | |
type AttrAllowedOps ServerServerHeaderPropertyInfo = (:) AttrOpTag AttrSet ((:) AttrOpTag AttrConstruct ((:) AttrOpTag AttrGet ([] AttrOpTag))) |
getServerServerHeader :: (MonadIO m, ServerK o) => o -> m Text Source
setServerServerHeader :: (MonadIO m, ServerK o) => o -> Text -> m () Source
SslCertFile
data ServerSslCertFilePropertyInfo Source
AttrInfo ServerSslCertFilePropertyInfo | |
type AttrLabel ServerSslCertFilePropertyInfo = "Server::ssl-cert-file" | |
type AttrGetType ServerSslCertFilePropertyInfo = Text | |
type AttrBaseTypeConstraint ServerSslCertFilePropertyInfo = ServerK | |
type AttrSetTypeConstraint ServerSslCertFilePropertyInfo = * ~ Text | |
type AttrAllowedOps ServerSslCertFilePropertyInfo = (:) AttrOpTag AttrConstruct ((:) AttrOpTag AttrGet ([] AttrOpTag)) |
getServerSslCertFile :: (MonadIO m, ServerK o) => o -> m Text Source
SslKeyFile
data ServerSslKeyFilePropertyInfo Source
AttrInfo ServerSslKeyFilePropertyInfo | |
type AttrLabel ServerSslKeyFilePropertyInfo = "Server::ssl-key-file" | |
type AttrGetType ServerSslKeyFilePropertyInfo = Text | |
type AttrBaseTypeConstraint ServerSslKeyFilePropertyInfo = ServerK | |
type AttrSetTypeConstraint ServerSslKeyFilePropertyInfo = * ~ Text | |
type AttrAllowedOps ServerSslKeyFilePropertyInfo = (:) AttrOpTag AttrConstruct ((:) AttrOpTag AttrGet ([] AttrOpTag)) |
getServerSslKeyFile :: (MonadIO m, ServerK o) => o -> m Text Source
TlsCertificate
data ServerTlsCertificatePropertyInfo Source
AttrInfo ServerTlsCertificatePropertyInfo | |
type AttrLabel ServerTlsCertificatePropertyInfo = "Server::tls-certificate" | |
type AttrGetType ServerTlsCertificatePropertyInfo = TlsCertificate | |
type AttrBaseTypeConstraint ServerTlsCertificatePropertyInfo = ServerK | |
type AttrSetTypeConstraint ServerTlsCertificatePropertyInfo = TlsCertificateK | |
type AttrAllowedOps ServerTlsCertificatePropertyInfo = (:) AttrOpTag AttrConstruct ((:) AttrOpTag AttrGet ([] AttrOpTag)) |
constructServerTlsCertificate :: TlsCertificateK a => a -> IO ([Char], GValue) Source
getServerTlsCertificate :: (MonadIO m, ServerK o) => o -> m TlsCertificate Source
Signals
RequestAborted
type ServerRequestAbortedCallback = Message -> ClientContext -> IO () Source
type ServerRequestAbortedCallbackC = Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO () Source
afterServerRequestAborted :: (GObject a, MonadIO m) => a -> ServerRequestAbortedCallback -> m SignalHandlerId Source
mkServerRequestAbortedCallback :: ServerRequestAbortedCallbackC -> IO (FunPtr ServerRequestAbortedCallbackC) Source
onServerRequestAborted :: (GObject a, MonadIO m) => a -> ServerRequestAbortedCallback -> m SignalHandlerId Source
serverRequestAbortedCallbackWrapper :: ServerRequestAbortedCallback -> Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO () Source
RequestFinished
type ServerRequestFinishedCallback = Message -> ClientContext -> IO () Source
type ServerRequestFinishedCallbackC = Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO () Source
afterServerRequestFinished :: (GObject a, MonadIO m) => a -> ServerRequestFinishedCallback -> m SignalHandlerId Source
mkServerRequestFinishedCallback :: ServerRequestFinishedCallbackC -> IO (FunPtr ServerRequestFinishedCallbackC) Source
onServerRequestFinished :: (GObject a, MonadIO m) => a -> ServerRequestFinishedCallback -> m SignalHandlerId Source
serverRequestFinishedCallbackWrapper :: ServerRequestFinishedCallback -> Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO () Source
RequestRead
type ServerRequestReadCallback = Message -> ClientContext -> IO () Source
type ServerRequestReadCallbackC = Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO () Source
afterServerRequestRead :: (GObject a, MonadIO m) => a -> ServerRequestReadCallback -> m SignalHandlerId Source
mkServerRequestReadCallback :: ServerRequestReadCallbackC -> IO (FunPtr ServerRequestReadCallbackC) Source
onServerRequestRead :: (GObject a, MonadIO m) => a -> ServerRequestReadCallback -> m SignalHandlerId Source
serverRequestReadCallbackWrapper :: ServerRequestReadCallback -> Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO () Source
RequestStarted
type ServerRequestStartedCallback = Message -> ClientContext -> IO () Source
type ServerRequestStartedCallbackC = Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO () Source
afterServerRequestStarted :: (GObject a, MonadIO m) => a -> ServerRequestStartedCallback -> m SignalHandlerId Source
mkServerRequestStartedCallback :: ServerRequestStartedCallbackC -> IO (FunPtr ServerRequestStartedCallbackC) Source
onServerRequestStarted :: (GObject a, MonadIO m) => a -> ServerRequestStartedCallback -> m SignalHandlerId Source
serverRequestStartedCallbackWrapper :: ServerRequestStartedCallback -> Ptr () -> Ptr Message -> Ptr ClientContext -> Ptr () -> IO () Source