update
This commit is contained in:
@@ -8,6 +8,11 @@ import { CoreRequest as AbstractCoreRequest } from '../core_base/request.js';
|
||||
export class CoreRequest extends AbstractCoreRequest<types.ICoreRequestOptions, CoreResponse> {
|
||||
constructor(url: string, options: types.ICoreRequestOptions = {}) {
|
||||
super(url, options);
|
||||
|
||||
// Check for unsupported Node.js-specific options
|
||||
if (options.agent || options.socketPath) {
|
||||
throw new Error('Node.js specific options (agent, socketPath) are not supported in browser/fetch implementation');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -4,7 +4,7 @@ import { CoreResponse as AbstractCoreResponse } from '../core_base/response.js';
|
||||
/**
|
||||
* Fetch-based implementation of Core Response class
|
||||
*/
|
||||
export class CoreResponse<T = any> extends AbstractCoreResponse<T> implements types.ICoreResponse<T> {
|
||||
export class CoreResponse<T = any> extends AbstractCoreResponse<T> implements types.IFetchResponse<T> {
|
||||
private response: Response;
|
||||
private responseClone: Response;
|
||||
|
||||
@@ -12,7 +12,7 @@ export class CoreResponse<T = any> extends AbstractCoreResponse<T> implements ty
|
||||
public readonly ok: boolean;
|
||||
public readonly status: number;
|
||||
public readonly statusText: string;
|
||||
public readonly headers: types.AbstractHeaders;
|
||||
public readonly headers: types.Headers;
|
||||
public readonly url: string;
|
||||
|
||||
constructor(response: Response) {
|
||||
|
@@ -4,24 +4,12 @@ import * as baseTypes from '../core_base/types.js';
|
||||
export * from '../core_base/types.js';
|
||||
|
||||
/**
|
||||
* Core request options for fetch-based implementation
|
||||
* Extends RequestInit from the Fetch API
|
||||
* Fetch-specific response extensions
|
||||
*/
|
||||
export interface ICoreRequestOptions extends RequestInit {
|
||||
// Override method to be more specific
|
||||
method?: baseTypes.THttpMethod;
|
||||
// Additional options not in RequestInit
|
||||
requestBody?: any;
|
||||
queryParams?: { [key: string]: string };
|
||||
timeout?: number;
|
||||
hardDataCuttingTimeout?: number;
|
||||
// keepAlive maps to keepalive in RequestInit
|
||||
keepAlive?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
* Core response object for fetch implementation
|
||||
*/
|
||||
export interface ICoreResponse<T = any> extends baseTypes.IAbstractResponse<T> {
|
||||
// Fetch-specific properties (all from base interface)
|
||||
export interface IFetchResponse<T = any> extends baseTypes.ICoreResponse<T> {
|
||||
// Fetch-specific methods
|
||||
stream(): ReadableStream<Uint8Array> | null;
|
||||
|
||||
// Access to raw Response object
|
||||
raw(): Response;
|
||||
}
|
Reference in New Issue
Block a user