@push.rocks/smartrequest
Version:
A module for modern HTTP/HTTPS requests with support for form data, file uploads, JSON, binary data, streams, and more.
35 lines • 3.15 kB
JavaScript
import * as plugins from './plugins.js';
// Export all base types - these are the public API
export * from '../core_base/types.js';
const smartenvInstance = new plugins.smartenv.Smartenv();
// Dynamically load the appropriate implementation based on runtime
let CoreRequest;
let CoreResponse;
if (smartenvInstance.isDeno) {
// In Deno, load the Deno implementation with HttpClient-based unix socket support
const impl = await import('../core_deno/index.js');
CoreRequest = impl.CoreRequest;
CoreResponse = impl.CoreResponse;
}
else if (smartenvInstance.isBun) {
// In Bun, load the Bun implementation with native fetch unix socket support
const impl = await import('../core_bun/index.js');
CoreRequest = impl.CoreRequest;
CoreResponse = impl.CoreResponse;
}
else if (smartenvInstance.isNode) {
// In Node.js, load the Node.js implementation with native http/https unix socket support
const modulePath = plugins.smartpath.join(plugins.smartpath.dirname(import.meta.url), '../core_node/index.js');
const impl = await smartenvInstance.getSafeNodeModule(modulePath);
CoreRequest = impl.CoreRequest;
CoreResponse = impl.CoreResponse;
}
else {
// In browser, load the fetch implementation (no unix socket support)
const impl = await import('../core_fetch/index.js');
CoreRequest = impl.CoreRequest;
CoreResponse = impl.CoreResponse;
}
// Export the loaded implementations
export { CoreRequest, CoreResponse };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jb3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBRXhDLG1EQUFtRDtBQUNuRCxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBRXpELG1FQUFtRTtBQUNuRSxJQUFJLFdBQWdCLENBQUM7QUFDckIsSUFBSSxZQUFpQixDQUFDO0FBRXRCLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUIsa0ZBQWtGO0lBQ2xGLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDbkQsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDL0IsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7QUFDbkMsQ0FBQztLQUFNLElBQUksZ0JBQWdCLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDbEMsNEVBQTRFO0lBQzVFLE1BQU0sSUFBSSxHQUFHLE1BQU0sTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDbEQsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDL0IsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7QUFDbkMsQ0FBQztLQUFNLElBQUksZ0JBQWdCLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkMseUZBQXlGO0lBQ3pGLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUN2QyxPQUFPLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUMxQyx1QkFBdUIsQ0FDeEIsQ0FBQztJQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbEUsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDL0IsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7QUFDbkMsQ0FBQztLQUFNLENBQUM7SUFDTixxRUFBcUU7SUFDckUsTUFBTSxJQUFJLEdBQUcsTUFBTSxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztJQUNwRCxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMvQixZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztBQUNuQyxDQUFDO0FBRUQsb0NBQW9DO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLENBQUMifQ==