@itwin/core-common
Version:
iTwin.js components common to frontend and backend
36 lines • 1.48 kB
TypeScript
/** @packageDocumentation
* @module RpcInterface
*/
import { BackendBuffer, BackendReadable } from "../../internal/BackendTypes";
import { RpcSerializedValue } from "../core/RpcMarshaling";
import { HttpServerRequest } from "../web/WebAppRpcProtocol";
/** @internal */
export interface FormDataCommon {
append(name: string, value: string | Blob | BackendBuffer, fileName?: string): void;
}
/** @internal */
export interface ReadableFormData extends BackendReadable {
getHeaders(): {
[key: string]: any;
};
}
/** Support for transporting RPC values using the HTTP multipart content type.
* @internal
*/
export declare class RpcMultipart {
/** Creates a multipart form object for an RPC value. */
static createForm(value: RpcSerializedValue): FormData;
/** Creates a multipart stream for an RPC value. */
static createStream(value: RpcSerializedValue): ReadableFormData;
/** Obtains the RPC value from a multipart HTTP request. */
static parseRequest(req: HttpServerRequest): Promise<RpcSerializedValue>;
/** @internal */
static writeValueToForm(form: FormDataCommon, value: RpcSerializedValue): void;
/** @internal */
static platform: {
createStream(_value: RpcSerializedValue): ReadableFormData;
parseRequest(_req: HttpServerRequest): Promise<RpcSerializedValue>;
appendToForm(i: number, form: FormDataCommon, value: RpcSerializedValue): void;
};
}
//# sourceMappingURL=RpcMultipart.d.ts.map