Skip to main content
Glama
supertest-agents.ts1.59 kB
import * as _ from 'lodash'; import supertest from 'supertest'; // add some more functionality to supertest import './extend-supertest'; import { app } from '../../src/main'; const appCallback = app.callback(); type HttpVerb = 'get' | 'put' | 'post' | 'patch' | 'del'; // supertest wrapper that lets us set default values, which we use to easily make requests as admin class SupertestAgentWithDefaults { constructor(public defaults: any) {} makeRequest(verb: HttpVerb, url: string) { const agent = supertest(this.defaults.app || this.defaults.url || null)[verb](url); // set default headers if (this.defaults.headers) { _.each(this.defaults.headers, (val, key) => agent.set(key, val)); } // set default auth (as in basic http auth) if (this.defaults.auth) { // eslint-disable-next-line @typescript-eslint/no-floating-promises agent.auth(this.defaults.auth.user, this.defaults.auth.password); } return agent; } get(url: string) { return this.makeRequest('get', url); } put(url: string) { return this.makeRequest('put', url); } patch(url: string) { return this.makeRequest('patch', url); } post(url: string) { return this.makeRequest('post', url); } del(url: string) { return this.makeRequest('del', url); } } export const request = supertest(appCallback); export const adminRequest = new SupertestAgentWithDefaults({ app: appCallback, headers: { 'spoof-auth': 'admin' }, }); export const superadminRequest = new SupertestAgentWithDefaults({ app: appCallback, headers: { 'spoof-auth': 'superadmin' }, });

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/systeminit/si'

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