@itwin/core-common
Version:
iTwin.js components common to frontend and backend
56 lines • 2.52 kB
JavaScript
;
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
* @module RpcInterface
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.RpcSessionInvocation = void 0;
const RpcConfiguration_1 = require("./RpcConfiguration");
const RpcConstants_1 = require("./RpcConstants");
const RpcInvocation_1 = require("./RpcInvocation");
const RpcMarshaling_1 = require("./RpcMarshaling");
const RpcProtocol_1 = require("./RpcProtocol");
const RpcRequest_1 = require("./RpcRequest");
/* eslint-disable @typescript-eslint/no-deprecated */
class SessionConfiguration extends RpcConfiguration_1.RpcConfiguration {
interfaces = () => [];
get protocol() { return SessionProtocol.instance; }
}
class SessionProtocol extends RpcProtocol_1.RpcProtocol {
static instance = new SessionProtocol();
requestType = RpcRequest_1.RpcRequest;
supportsStatusCategory = true;
constructor() { super(new SessionConfiguration()); }
}
/** @internal */
class RpcSessionInvocation extends RpcInvocation_1.RpcInvocation {
static create(request) {
const serializedRequest = {
id: request.context.id,
applicationId: request.context.applicationId,
applicationVersion: request.context.applicationVersion,
sessionId: request.context.sessionId,
authorization: "",
operation: {
interfaceDefinition: request.definition.interfaceName,
interfaceVersion: request.definition.interfaceVersion,
operationName: request.operation,
},
method: request.operation,
path: "",
parameters: RpcMarshaling_1.RpcSerializedValue.create(),
parametersOverride: request.parameters,
caching: RpcConstants_1.RpcResponseCacheControl.None,
protocolVersion: parseInt(request.context.protocolVersion, 10),
};
return new RpcSessionInvocation(SessionProtocol.instance, serializedRequest);
}
get rejected() {
return this.status === RpcConstants_1.RpcRequestStatus.Rejected;
}
}
exports.RpcSessionInvocation = RpcSessionInvocation;
//# sourceMappingURL=RpcSessionInvocation.js.map