@beshkenadze/courtlistener-sdk
Version:
TypeScript SDK and MCP server for CourtListener API
50 lines (46 loc) • 1.28 kB
JavaScript
import"./mcp/index.mjs";
// src/api/client.ts
import axios from "axios";
var BASE_URL = "https://www.courtlistener.com/api/rest/v4";
var API_TOKEN = process.env.COURTLISTENER_API_TOKEN;
var axiosInstance = axios.create({
baseURL: BASE_URL,
timeout: 30000,
headers: {
"Content-Type": "application/json",
"User-Agent": "CourtListener SDK",
...API_TOKEN && { Authorization: `Token ${API_TOKEN}` }
}
});
axiosInstance.interceptors.request.use((config) => {
const token = config.headers?.Authorization || API_TOKEN;
if (token && !config.headers.Authorization) {
config.headers.Authorization = `Token ${token}`;
}
return config;
});
var customInstance = (config, options) => {
const source = axios.CancelToken.source();
const promise = axiosInstance({
...config,
...options,
cancelToken: source.token
}).then(({ data }) => data);
promise.cancel = () => {
source.cancel("Query was cancelled");
};
return promise;
};
// src/index.ts
var src_default = {
name: "CourtListener SDK",
version: "1.0.0",
description: "TypeScript SDK and MCP server for the CourtListener API"
};
export {
src_default as default,
customInstance,
axiosInstance
};
//# debugId=63F3043A5734256E64756E2164756E21
//# sourceMappingURL=index.mjs.map