Skip to main content
Glama
handlers.ts1.97 kB
import { createResponse, parseError, withPubSubEnvKeys } from "../utils"; import { getHistory, getPresence, publishMessage, subscribeToChannel } from "./api"; import { manageAppContext } from "./app-context/api"; import type { ManageAppContextHandlerArgs } from "./app-context/types"; import type { GetHistoryHandlerArgs, GetPresenceHandlerArgs, PublishMessageHandlerArgs, SubscribeHandlerArgs, } from "./types"; export async function manageAppContextHandler(args: ManageAppContextHandlerArgs) { try { const result = await manageAppContext(withPubSubEnvKeys(args)); return createResponse(JSON.stringify(result, null, 2)); } catch (e) { console.error(e); return createResponse(JSON.stringify(parseError(e)), true); } } export async function publishMessageHandler(args: PublishMessageHandlerArgs) { try { const result = await publishMessage(withPubSubEnvKeys(args)); return createResponse(JSON.stringify(result)); } catch (e) { console.error(e); return createResponse(JSON.stringify(parseError(e)), true); } } export async function getPresenceHandler(args: GetPresenceHandlerArgs) { try { const result = await getPresence(withPubSubEnvKeys(args)); return createResponse(JSON.stringify(result)); } catch (e) { console.error(e); return createResponse(JSON.stringify(parseError(e)), true); } } export async function subscribeHandler(args: SubscribeHandlerArgs) { try { const result = await subscribeToChannel(withPubSubEnvKeys(args)); return createResponse(JSON.stringify(result)); } catch (e) { console.error(e); return createResponse(JSON.stringify(parseError(e)), true); } } export async function getHistoryHandler(args: GetHistoryHandlerArgs) { try { const result = await getHistory(withPubSubEnvKeys(args)); return createResponse(JSON.stringify(result)); } catch (e) { console.error(e); return createResponse(JSON.stringify(parseError(e))); } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pubnub/pubnub-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server