@itwin/core-common 3.4.0-dev.8 → 3.5.0-dev.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -1
- package/lib/cjs/AmbientOcclusion.d.ts +49 -49
- package/lib/cjs/AmbientOcclusion.js +55 -55
- package/lib/cjs/AmbientOcclusion.js.map +1 -1
- package/lib/cjs/AnalysisStyle.d.ts +134 -134
- package/lib/cjs/AnalysisStyle.js +165 -165
- package/lib/cjs/AnalysisStyle.js.map +1 -1
- package/lib/cjs/AuthorizationClient.d.ts +11 -11
- package/lib/cjs/AuthorizationClient.js +9 -9
- package/lib/cjs/AuthorizationClient.js.map +1 -1
- package/lib/cjs/BackgroundMapProvider.d.ts +51 -51
- package/lib/cjs/BackgroundMapProvider.js +68 -68
- package/lib/cjs/BackgroundMapProvider.js.map +1 -1
- package/lib/cjs/BackgroundMapSettings.d.ts +136 -136
- package/lib/cjs/BackgroundMapSettings.js +156 -156
- package/lib/cjs/BackgroundMapSettings.js.map +1 -1
- package/lib/cjs/Base64EncodedString.d.ts +30 -30
- package/lib/cjs/Base64EncodedString.js +56 -56
- package/lib/cjs/Base64EncodedString.js.map +1 -1
- package/lib/cjs/BlobReader.d.ts +31 -31
- package/lib/cjs/BlobReader.js +84 -84
- package/lib/cjs/BlobReader.js.map +1 -1
- package/lib/cjs/BriefcaseTypes.d.ts +189 -189
- package/lib/cjs/BriefcaseTypes.js +95 -95
- package/lib/cjs/BriefcaseTypes.js.map +1 -1
- package/lib/cjs/Camera.d.ts +42 -42
- package/lib/cjs/Camera.d.ts.map +1 -1
- package/lib/cjs/Camera.js +62 -58
- package/lib/cjs/Camera.js.map +1 -1
- package/lib/cjs/ChangedElements.d.ts +83 -83
- package/lib/cjs/ChangedElements.js +21 -21
- package/lib/cjs/ChangedElements.js.map +1 -1
- package/lib/cjs/ChangedEntities.d.ts +45 -45
- package/lib/cjs/ChangedEntities.js +9 -9
- package/lib/cjs/ChangedEntities.js.map +1 -1
- package/lib/cjs/ChangesetProps.d.ts +98 -98
- package/lib/cjs/ChangesetProps.js +22 -22
- package/lib/cjs/ChangesetProps.js.map +1 -1
- package/lib/cjs/ClipStyle.d.ts +89 -89
- package/lib/cjs/ClipStyle.js +123 -123
- package/lib/cjs/ClipStyle.js.map +1 -1
- package/lib/cjs/CloudStorage.d.ts +62 -47
- package/lib/cjs/CloudStorage.d.ts.map +1 -1
- package/lib/cjs/CloudStorage.js +113 -103
- package/lib/cjs/CloudStorage.js.map +1 -1
- package/lib/cjs/CloudStorageTileCache.d.ts +27 -24
- package/lib/cjs/CloudStorageTileCache.d.ts.map +1 -1
- package/lib/cjs/CloudStorageTileCache.js +66 -62
- package/lib/cjs/CloudStorageTileCache.js.map +1 -1
- package/lib/cjs/Code.d.ts +256 -250
- package/lib/cjs/Code.d.ts.map +1 -1
- package/lib/cjs/Code.js +281 -277
- package/lib/cjs/Code.js.map +1 -1
- package/lib/cjs/ColorByName.d.ts +161 -161
- package/lib/cjs/ColorByName.js +169 -169
- package/lib/cjs/ColorByName.js.map +1 -1
- package/lib/cjs/ColorDef.d.ts +208 -208
- package/lib/cjs/ColorDef.d.ts.map +1 -1
- package/lib/cjs/ColorDef.js +571 -569
- package/lib/cjs/ColorDef.js.map +1 -1
- package/lib/cjs/CommonLoggerCategory.d.ts +18 -18
- package/lib/cjs/CommonLoggerCategory.js +26 -26
- package/lib/cjs/CommonLoggerCategory.js.map +1 -1
- package/lib/cjs/ConcurrentQuery.d.ts +241 -241
- package/lib/cjs/ConcurrentQuery.d.ts.map +1 -1
- package/lib/cjs/ConcurrentQuery.js +380 -338
- package/lib/cjs/ConcurrentQuery.js.map +1 -1
- package/lib/cjs/ContextRealityModel.d.ts +255 -255
- package/lib/cjs/ContextRealityModel.js +325 -325
- package/lib/cjs/ContextRealityModel.js.map +1 -1
- package/lib/cjs/DisplayStyleSettings.d.ts +552 -552
- package/lib/cjs/DisplayStyleSettings.js +951 -951
- package/lib/cjs/DisplayStyleSettings.js.map +1 -1
- package/lib/cjs/ECSchemaProps.d.ts +40 -0
- package/lib/cjs/ECSchemaProps.d.ts.map +1 -0
- package/lib/cjs/ECSchemaProps.js +10 -0
- package/lib/cjs/ECSchemaProps.js.map +1 -0
- package/lib/cjs/ECSqlReader.d.ts +70 -70
- package/lib/cjs/ECSqlReader.js +280 -280
- package/lib/cjs/ECSqlReader.js.map +1 -1
- package/lib/cjs/ECSqlTypes.d.ts +128 -128
- package/lib/cjs/ECSqlTypes.js +189 -189
- package/lib/cjs/ECSqlTypes.js.map +1 -1
- package/lib/cjs/ElementProps.d.ts +476 -470
- package/lib/cjs/ElementProps.d.ts.map +1 -1
- package/lib/cjs/ElementProps.js +99 -99
- package/lib/cjs/ElementProps.js.map +1 -1
- package/lib/cjs/EmphasizeElementsProps.d.ts +55 -55
- package/lib/cjs/EmphasizeElementsProps.js +25 -25
- package/lib/cjs/EmphasizeElementsProps.js.map +1 -1
- package/lib/cjs/EntityProps.d.ts +176 -176
- package/lib/cjs/EntityProps.js +112 -112
- package/lib/cjs/EntityProps.js.map +1 -1
- package/lib/cjs/Environment.d.ts +61 -61
- package/lib/cjs/Environment.js +73 -73
- package/lib/cjs/Environment.js.map +1 -1
- package/lib/cjs/FeatureGates.d.ts +31 -31
- package/lib/cjs/FeatureGates.d.ts.map +1 -1
- package/lib/cjs/FeatureGates.js +55 -51
- package/lib/cjs/FeatureGates.js.map +1 -1
- package/lib/cjs/FeatureIndex.d.ts +39 -39
- package/lib/cjs/FeatureIndex.d.ts.map +1 -1
- package/lib/cjs/FeatureIndex.js +63 -59
- package/lib/cjs/FeatureIndex.js.map +1 -1
- package/lib/cjs/FeatureSymbology.d.ts +444 -444
- package/lib/cjs/FeatureSymbology.d.ts.map +1 -1
- package/lib/cjs/FeatureSymbology.js +614 -614
- package/lib/cjs/FeatureSymbology.js.map +1 -1
- package/lib/cjs/FeatureTable.d.ts +141 -141
- package/lib/cjs/FeatureTable.js +278 -278
- package/lib/cjs/FeatureTable.js.map +1 -1
- package/lib/cjs/Fonts.d.ts +51 -51
- package/lib/cjs/Fonts.d.ts.map +1 -1
- package/lib/cjs/Fonts.js +53 -53
- package/lib/cjs/Fonts.js.map +1 -1
- package/lib/cjs/Frustum.d.ts +114 -114
- package/lib/cjs/Frustum.d.ts.map +1 -1
- package/lib/cjs/Frustum.js +292 -258
- package/lib/cjs/Frustum.js.map +1 -1
- package/lib/cjs/GeoCoordinateServices.d.ts +119 -119
- package/lib/cjs/GeoCoordinateServices.js +80 -80
- package/lib/cjs/GeoCoordinateServices.js.map +1 -1
- package/lib/cjs/GeometryContainment.d.ts +28 -28
- package/lib/cjs/GeometryContainment.js +9 -9
- package/lib/cjs/GeometryContainment.js.map +1 -1
- package/lib/cjs/GeometryParams.d.ts +130 -130
- package/lib/cjs/GeometryParams.js +174 -174
- package/lib/cjs/GeometryParams.js.map +1 -1
- package/lib/cjs/GeometrySummary.d.ts +45 -45
- package/lib/cjs/GeometrySummary.js +23 -23
- package/lib/cjs/GeometrySummary.js.map +1 -1
- package/lib/cjs/Gradient.d.ts +139 -123
- package/lib/cjs/Gradient.d.ts.map +1 -1
- package/lib/cjs/Gradient.js +455 -444
- package/lib/cjs/Gradient.js.map +1 -1
- package/lib/cjs/GraphicParams.d.ts +58 -58
- package/lib/cjs/GraphicParams.js +85 -85
- package/lib/cjs/GraphicParams.js.map +1 -1
- package/lib/cjs/GroundPlane.d.ts +52 -52
- package/lib/cjs/GroundPlane.js +64 -64
- package/lib/cjs/GroundPlane.js.map +1 -1
- package/lib/cjs/HSLColor.d.ts +20 -20
- package/lib/cjs/HSLColor.js +32 -32
- package/lib/cjs/HSLColor.js.map +1 -1
- package/lib/cjs/HSVColor.d.ts +30 -30
- package/lib/cjs/HSVColor.js +59 -59
- package/lib/cjs/HSVColor.js.map +1 -1
- package/lib/cjs/HiddenLine.d.ts +97 -97
- package/lib/cjs/HiddenLine.js +162 -162
- package/lib/cjs/HiddenLine.js.map +1 -1
- package/lib/cjs/Hilite.d.ts +50 -50
- package/lib/cjs/Hilite.js +64 -64
- package/lib/cjs/Hilite.js.map +1 -1
- package/lib/cjs/IModel.d.ts +355 -355
- package/lib/cjs/IModel.js +340 -340
- package/lib/cjs/IModel.js.map +1 -1
- package/lib/cjs/IModelError.d.ts +36 -36
- package/lib/cjs/IModelError.js +72 -72
- package/lib/cjs/IModelError.js.map +1 -1
- package/lib/cjs/IModelVersion.d.ts +68 -68
- package/lib/cjs/IModelVersion.js +79 -79
- package/lib/cjs/IModelVersion.js.map +1 -1
- package/lib/cjs/Image.d.ts +86 -86
- package/lib/cjs/Image.d.ts.map +1 -1
- package/lib/cjs/Image.js +128 -126
- package/lib/cjs/Image.js.map +1 -1
- package/lib/cjs/IpcAppProps.d.ts +124 -124
- package/lib/cjs/IpcAppProps.js +18 -18
- package/lib/cjs/IpcAppProps.js.map +1 -1
- package/lib/cjs/LightSettings.d.ts +224 -224
- package/lib/cjs/LightSettings.js +309 -309
- package/lib/cjs/LightSettings.js.map +1 -1
- package/lib/cjs/LinePixels.d.ts +34 -34
- package/lib/cjs/LinePixels.js +42 -42
- package/lib/cjs/LinePixels.js.map +1 -1
- package/lib/cjs/Localization.d.ts +111 -112
- package/lib/cjs/Localization.d.ts.map +1 -1
- package/lib/cjs/Localization.js +26 -26
- package/lib/cjs/Localization.js.map +1 -1
- package/lib/cjs/MapImagerySettings.d.ts +62 -62
- package/lib/cjs/MapImagerySettings.js +80 -80
- package/lib/cjs/MapImagerySettings.js.map +1 -1
- package/lib/cjs/MapLayerSettings.d.ts +272 -272
- package/lib/cjs/MapLayerSettings.js +411 -411
- package/lib/cjs/MapLayerSettings.js.map +1 -1
- package/lib/cjs/MassProperties.d.ts +64 -64
- package/lib/cjs/MassProperties.js +23 -23
- package/lib/cjs/MassProperties.js.map +1 -1
- package/lib/cjs/MaterialProps.d.ts +118 -118
- package/lib/cjs/MaterialProps.js +23 -23
- package/lib/cjs/MaterialProps.js.map +1 -1
- package/lib/cjs/ModelClipGroup.d.ts +67 -67
- package/lib/cjs/ModelClipGroup.js +98 -98
- package/lib/cjs/ModelClipGroup.js.map +1 -1
- package/lib/cjs/ModelGeometryChanges.d.ts +107 -107
- package/lib/cjs/ModelGeometryChanges.js +83 -83
- package/lib/cjs/ModelGeometryChanges.js.map +1 -1
- package/lib/cjs/ModelProps.d.ts +66 -66
- package/lib/cjs/ModelProps.js +9 -9
- package/lib/cjs/ModelProps.js.map +1 -1
- package/lib/cjs/NativeAppProps.d.ts +122 -122
- package/lib/cjs/NativeAppProps.js +30 -30
- package/lib/cjs/NativeAppProps.js.map +1 -1
- package/lib/cjs/OctEncodedNormal.d.ts +33 -33
- package/lib/cjs/OctEncodedNormal.js +98 -98
- package/lib/cjs/OctEncodedNormal.js.map +1 -1
- package/lib/cjs/PlanProjectionSettings.d.ts +47 -47
- package/lib/cjs/PlanProjectionSettings.js +63 -63
- package/lib/cjs/PlanProjectionSettings.js.map +1 -1
- package/lib/cjs/PlanarClipMask.d.ts +177 -177
- package/lib/cjs/PlanarClipMask.js +136 -136
- package/lib/cjs/PlanarClipMask.js.map +1 -1
- package/lib/cjs/QPoint.d.ts +479 -299
- package/lib/cjs/QPoint.d.ts.map +1 -1
- package/lib/cjs/QPoint.js +826 -626
- package/lib/cjs/QPoint.js.map +1 -1
- package/lib/cjs/RealityDataAccessProps.d.ts +41 -41
- package/lib/cjs/RealityDataAccessProps.js +19 -19
- package/lib/cjs/RealityDataAccessProps.js.map +1 -1
- package/lib/cjs/Render.d.ts +89 -89
- package/lib/cjs/Render.d.ts.map +1 -1
- package/lib/cjs/Render.js +177 -169
- package/lib/cjs/Render.js.map +1 -1
- package/lib/cjs/RenderMaterial.d.ts +58 -58
- package/lib/cjs/RenderMaterial.js +76 -76
- package/lib/cjs/RenderMaterial.js.map +1 -1
- package/lib/cjs/RenderSchedule.d.ts +540 -540
- package/lib/cjs/RenderSchedule.js +1000 -1000
- package/lib/cjs/RenderTexture.d.ts +70 -70
- package/lib/cjs/RenderTexture.js +59 -59
- package/lib/cjs/RenderTexture.js.map +1 -1
- package/lib/cjs/RgbColor.d.ts +39 -39
- package/lib/cjs/RgbColor.js +67 -67
- package/lib/cjs/RgbColor.js.map +1 -1
- package/lib/cjs/RpcInterface.d.ts +33 -33
- package/lib/cjs/RpcInterface.js +137 -137
- package/lib/cjs/RpcInterface.js.map +1 -1
- package/lib/cjs/RpcManager.d.ts +40 -40
- package/lib/cjs/RpcManager.js +55 -55
- package/lib/cjs/RpcManager.js.map +1 -1
- package/lib/cjs/SessionProps.d.ts +16 -16
- package/lib/cjs/SessionProps.js +9 -9
- package/lib/cjs/SessionProps.js.map +1 -1
- package/lib/cjs/SkyBox.d.ts +215 -215
- package/lib/cjs/SkyBox.js +210 -210
- package/lib/cjs/SkyBox.js.map +1 -1
- package/lib/cjs/Snapping.d.ts +49 -49
- package/lib/cjs/Snapping.js +9 -9
- package/lib/cjs/Snapping.js.map +1 -1
- package/lib/cjs/SolarCalculate.d.ts +27 -27
- package/lib/cjs/SolarCalculate.js +211 -211
- package/lib/cjs/SolarCalculate.js.map +1 -1
- package/lib/cjs/SolarShadows.d.ts +35 -35
- package/lib/cjs/SolarShadows.js +62 -62
- package/lib/cjs/SolarShadows.js.map +1 -1
- package/lib/cjs/SpatialClassification.d.ts +208 -208
- package/lib/cjs/SpatialClassification.js +340 -340
- package/lib/cjs/SpatialClassification.js.map +1 -1
- package/lib/cjs/SubCategoryAppearance.d.ts +91 -91
- package/lib/cjs/SubCategoryAppearance.js +96 -96
- package/lib/cjs/SubCategoryAppearance.js.map +1 -1
- package/lib/cjs/SubCategoryOverride.d.ts +46 -46
- package/lib/cjs/SubCategoryOverride.d.ts.map +1 -1
- package/lib/cjs/SubCategoryOverride.js +104 -104
- package/lib/cjs/SubCategoryOverride.js.map +1 -1
- package/lib/cjs/TerrainSettings.d.ts +82 -77
- package/lib/cjs/TerrainSettings.d.ts.map +1 -1
- package/lib/cjs/TerrainSettings.js +102 -101
- package/lib/cjs/TerrainSettings.js.map +1 -1
- package/lib/cjs/TextureMapping.d.ts +101 -101
- package/lib/cjs/TextureMapping.js +174 -174
- package/lib/cjs/TextureMapping.js.map +1 -1
- package/lib/cjs/TextureProps.d.ts +65 -65
- package/lib/cjs/TextureProps.js +28 -28
- package/lib/cjs/TextureProps.js.map +1 -1
- package/lib/cjs/ThematicDisplay.d.ts +230 -234
- package/lib/cjs/ThematicDisplay.d.ts.map +1 -1
- package/lib/cjs/ThematicDisplay.js +344 -344
- package/lib/cjs/ThematicDisplay.js.map +1 -1
- package/lib/cjs/Thumbnail.d.ts +26 -26
- package/lib/cjs/Thumbnail.js +9 -9
- package/lib/cjs/Thumbnail.js.map +1 -1
- package/lib/cjs/TileProps.d.ts +82 -77
- package/lib/cjs/TileProps.d.ts.map +1 -1
- package/lib/cjs/TileProps.js +29 -18
- package/lib/cjs/TileProps.js.map +1 -1
- package/lib/cjs/Tween.d.ts +191 -191
- package/lib/cjs/Tween.js +570 -570
- package/lib/cjs/Tween.js.map +1 -1
- package/lib/cjs/TxnAction.d.ts +21 -21
- package/lib/cjs/TxnAction.js +29 -29
- package/lib/cjs/TxnAction.js.map +1 -1
- package/lib/cjs/ViewDetails.d.ts +125 -125
- package/lib/cjs/ViewDetails.js +158 -158
- package/lib/cjs/ViewDetails.js.map +1 -1
- package/lib/cjs/ViewFlags.d.ts +291 -291
- package/lib/cjs/ViewFlags.d.ts.map +1 -1
- package/lib/cjs/ViewFlags.js +368 -368
- package/lib/cjs/ViewFlags.js.map +1 -1
- package/lib/cjs/ViewProps.d.ts +205 -205
- package/lib/cjs/ViewProps.js +9 -9
- package/lib/cjs/ViewProps.js.map +1 -1
- package/lib/cjs/WhiteOnWhiteReversalSettings.d.ts +36 -36
- package/lib/cjs/WhiteOnWhiteReversalSettings.js +37 -37
- package/lib/cjs/WhiteOnWhiteReversalSettings.js.map +1 -1
- package/lib/cjs/core-common.d.ts +240 -239
- package/lib/cjs/core-common.d.ts.map +1 -1
- package/lib/cjs/core-common.js +256 -255
- package/lib/cjs/core-common.js.map +1 -1
- package/lib/cjs/domains/FunctionalElementProps.d.ts +11 -11
- package/lib/cjs/domains/FunctionalElementProps.js +9 -9
- package/lib/cjs/domains/FunctionalElementProps.js.map +1 -1
- package/lib/cjs/domains/GenericElementProps.d.ts +18 -18
- package/lib/cjs/domains/GenericElementProps.js +9 -9
- package/lib/cjs/domains/GenericElementProps.js.map +1 -1
- package/lib/cjs/geometry/AdditionalTransform.d.ts +84 -84
- package/lib/cjs/geometry/AdditionalTransform.js +85 -85
- package/lib/cjs/geometry/AdditionalTransform.js.map +1 -1
- package/lib/cjs/geometry/AreaPattern.d.ts +82 -82
- package/lib/cjs/geometry/AreaPattern.js +204 -204
- package/lib/cjs/geometry/AreaPattern.js.map +1 -1
- package/lib/cjs/geometry/BoundingSphere.d.ts +14 -14
- package/lib/cjs/geometry/BoundingSphere.d.ts.map +1 -1
- package/lib/cjs/geometry/BoundingSphere.js +30 -24
- package/lib/cjs/geometry/BoundingSphere.js.map +1 -1
- package/lib/cjs/geometry/Cartographic.d.ts +137 -137
- package/lib/cjs/geometry/Cartographic.js +345 -345
- package/lib/cjs/geometry/Cartographic.js.map +1 -1
- package/lib/cjs/geometry/CoordinateReferenceSystem.d.ts +269 -269
- package/lib/cjs/geometry/CoordinateReferenceSystem.js +261 -261
- package/lib/cjs/geometry/CoordinateReferenceSystem.js.map +1 -1
- package/lib/cjs/geometry/ElementGeometry.d.ts +402 -402
- package/lib/cjs/geometry/ElementGeometry.js +1719 -1719
- package/lib/cjs/geometry/ElementGeometry.js.map +1 -1
- package/lib/cjs/geometry/ElementGeometryFB.d.ts +2372 -2372
- package/lib/cjs/geometry/ElementGeometryFB.js +3814 -3814
- package/lib/cjs/geometry/ElementGeometryFB.js.map +1 -1
- package/lib/cjs/geometry/FrustumPlanes.d.ts +32 -32
- package/lib/cjs/geometry/FrustumPlanes.js +132 -132
- package/lib/cjs/geometry/FrustumPlanes.js.map +1 -1
- package/lib/cjs/geometry/GeodeticDatum.d.ts +409 -409
- package/lib/cjs/geometry/GeodeticDatum.js +401 -401
- package/lib/cjs/geometry/GeodeticDatum.js.map +1 -1
- package/lib/cjs/geometry/GeodeticEllipsoid.d.ts +72 -72
- package/lib/cjs/geometry/GeodeticEllipsoid.js +72 -72
- package/lib/cjs/geometry/GeodeticEllipsoid.js.map +1 -1
- package/lib/cjs/geometry/GeometryStream.d.ts +347 -347
- package/lib/cjs/geometry/GeometryStream.js +469 -469
- package/lib/cjs/geometry/GeometryStream.js.map +1 -1
- package/lib/cjs/geometry/ImageGraphic.d.ts +74 -74
- package/lib/cjs/geometry/ImageGraphic.js +98 -98
- package/lib/cjs/geometry/ImageGraphic.js.map +1 -1
- package/lib/cjs/geometry/LineStyle.d.ts +71 -71
- package/lib/cjs/geometry/LineStyle.js +129 -129
- package/lib/cjs/geometry/LineStyle.js.map +1 -1
- package/lib/cjs/geometry/Placement.d.ts +95 -95
- package/lib/cjs/geometry/Placement.js +131 -131
- package/lib/cjs/geometry/Placement.js.map +1 -1
- package/lib/cjs/geometry/Projection.d.ts +251 -251
- package/lib/cjs/geometry/Projection.js +198 -198
- package/lib/cjs/geometry/Projection.js.map +1 -1
- package/lib/cjs/geometry/TextString.d.ts +55 -55
- package/lib/cjs/geometry/TextString.d.ts.map +1 -1
- package/lib/cjs/geometry/TextString.js +65 -65
- package/lib/cjs/geometry/TextString.js.map +1 -1
- package/lib/cjs/ipc/IpcSession.d.ts +23 -23
- package/lib/cjs/ipc/IpcSession.js +27 -27
- package/lib/cjs/ipc/IpcSession.js.map +1 -1
- package/lib/cjs/ipc/IpcSocket.d.ts +96 -96
- package/lib/cjs/ipc/IpcSocket.js +16 -16
- package/lib/cjs/ipc/IpcSocket.js.map +1 -1
- package/lib/cjs/ipc/IpcWebSocket.d.ts +61 -58
- package/lib/cjs/ipc/IpcWebSocket.d.ts.map +1 -1
- package/lib/cjs/ipc/IpcWebSocket.js +151 -137
- package/lib/cjs/ipc/IpcWebSocket.js.map +1 -1
- package/lib/cjs/ipc/IpcWebSocketTransport.d.ts +15 -15
- package/lib/cjs/ipc/IpcWebSocketTransport.js +158 -151
- package/lib/cjs/ipc/IpcWebSocketTransport.js.map +1 -1
- package/lib/cjs/rpc/DevToolsRpcInterface.d.ts +32 -32
- package/lib/cjs/rpc/DevToolsRpcInterface.js +48 -48
- package/lib/cjs/rpc/DevToolsRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/IModelReadRpcInterface.d.ts +75 -75
- package/lib/cjs/rpc/IModelReadRpcInterface.js +115 -115
- package/lib/cjs/rpc/IModelReadRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.d.ts +61 -53
- package/lib/cjs/rpc/IModelTileRpcInterface.d.ts.map +1 -1
- package/lib/cjs/rpc/IModelTileRpcInterface.js +95 -86
- package/lib/cjs/rpc/IModelTileRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
- package/lib/cjs/rpc/SnapshotIModelRpcInterface.js +48 -48
- package/lib/cjs/rpc/SnapshotIModelRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/TestRpcManager.d.ts +20 -20
- package/lib/cjs/rpc/TestRpcManager.js +39 -39
- package/lib/cjs/rpc/TestRpcManager.js.map +1 -1
- package/lib/cjs/rpc/WipRpcInterface.d.ts +29 -29
- package/lib/cjs/rpc/WipRpcInterface.js +40 -40
- package/lib/cjs/rpc/WipRpcInterface.js.map +1 -1
- package/lib/cjs/rpc/core/RpcConfiguration.d.ts +111 -111
- package/lib/cjs/rpc/core/RpcConfiguration.js +192 -192
- package/lib/cjs/rpc/core/RpcConfiguration.js.map +1 -1
- package/lib/cjs/rpc/core/RpcConstants.d.ts +85 -83
- package/lib/cjs/rpc/core/RpcConstants.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcConstants.js +103 -100
- package/lib/cjs/rpc/core/RpcConstants.js.map +1 -1
- package/lib/cjs/rpc/core/RpcControl.d.ts +52 -52
- package/lib/cjs/rpc/core/RpcControl.js +149 -149
- package/lib/cjs/rpc/core/RpcControl.js.map +1 -1
- package/lib/cjs/rpc/core/RpcInvocation.d.ts +89 -89
- package/lib/cjs/rpc/core/RpcInvocation.js +257 -257
- package/lib/cjs/rpc/core/RpcInvocation.js.map +1 -1
- package/lib/cjs/rpc/core/RpcMarshaling.d.ts +36 -36
- package/lib/cjs/rpc/core/RpcMarshaling.js +153 -153
- package/lib/cjs/rpc/core/RpcMarshaling.js.map +1 -1
- package/lib/cjs/rpc/core/RpcOperation.d.ts +67 -67
- package/lib/cjs/rpc/core/RpcOperation.js +133 -133
- package/lib/cjs/rpc/core/RpcOperation.js.map +1 -1
- package/lib/cjs/rpc/core/RpcPendingQueue.d.ts +21 -21
- package/lib/cjs/rpc/core/RpcPendingQueue.js +94 -94
- package/lib/cjs/rpc/core/RpcPendingQueue.js.map +1 -1
- package/lib/cjs/rpc/core/RpcProtocol.d.ts +132 -132
- package/lib/cjs/rpc/core/RpcProtocol.js +127 -127
- package/lib/cjs/rpc/core/RpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/core/RpcPush.d.ts +68 -68
- package/lib/cjs/rpc/core/RpcPush.js +127 -127
- package/lib/cjs/rpc/core/RpcPush.js.map +1 -1
- package/lib/cjs/rpc/core/RpcRegistry.d.ts +48 -48
- package/lib/cjs/rpc/core/RpcRegistry.js +198 -198
- package/lib/cjs/rpc/core/RpcRegistry.js.map +1 -1
- package/lib/cjs/rpc/core/RpcRequest.d.ts +186 -186
- package/lib/cjs/rpc/core/RpcRequest.d.ts.map +1 -1
- package/lib/cjs/rpc/core/RpcRequest.js +477 -471
- package/lib/cjs/rpc/core/RpcRequest.js.map +1 -1
- package/lib/cjs/rpc/core/RpcRequestContext.d.ts +14 -14
- package/lib/cjs/rpc/core/RpcRequestContext.js +2 -2
- package/lib/cjs/rpc/core/RpcRequestContext.js.map +1 -1
- package/lib/cjs/rpc/core/RpcRoutingToken.d.ts +12 -12
- package/lib/cjs/rpc/core/RpcRoutingToken.js +23 -23
- package/lib/cjs/rpc/core/RpcRoutingToken.js.map +1 -1
- package/lib/cjs/rpc/core/RpcSessionInvocation.d.ts +10 -10
- package/lib/cjs/rpc/core/RpcSessionInvocation.js +59 -59
- package/lib/cjs/rpc/core/RpcSessionInvocation.js.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
- package/lib/cjs/rpc/web/BentleyCloudRpcManager.js +73 -73
- package/lib/cjs/rpc/web/BentleyCloudRpcManager.js.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js +142 -139
- package/lib/cjs/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/OpenAPI.d.ts +139 -139
- package/lib/cjs/rpc/web/OpenAPI.js +60 -60
- package/lib/cjs/rpc/web/OpenAPI.js.map +1 -1
- package/lib/cjs/rpc/web/RpcMultipart.d.ts +31 -31
- package/lib/cjs/rpc/web/RpcMultipart.js +45 -45
- package/lib/cjs/rpc/web/RpcMultipart.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcLogging.d.ts +17 -17
- package/lib/cjs/rpc/web/WebAppRpcLogging.js +140 -140
- package/lib/cjs/rpc/web/WebAppRpcLogging.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts +86 -86
- package/lib/cjs/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js +116 -100
- package/lib/cjs/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/cjs/rpc/web/WebAppRpcRequest.d.ts +71 -71
- package/lib/cjs/rpc/web/WebAppRpcRequest.js +374 -374
- package/lib/cjs/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js +359 -359
- package/lib/cjs/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
- package/lib/cjs/tile/B3dmTileIO.d.ts +19 -19
- package/lib/cjs/tile/B3dmTileIO.js +66 -66
- package/lib/cjs/tile/B3dmTileIO.js.map +1 -1
- package/lib/cjs/tile/CompositeTileIO.d.ts +15 -15
- package/lib/cjs/tile/CompositeTileIO.js +26 -26
- package/lib/cjs/tile/CompositeTileIO.js.map +1 -1
- package/lib/cjs/tile/ElementGraphics.d.ts +134 -134
- package/lib/cjs/tile/ElementGraphics.js +9 -9
- package/lib/cjs/tile/ElementGraphics.js.map +1 -1
- package/lib/cjs/tile/GltfTileIO.d.ts +45 -45
- package/lib/cjs/tile/GltfTileIO.js +109 -109
- package/lib/cjs/tile/GltfTileIO.js.map +1 -1
- package/lib/cjs/tile/I3dmTileIO.d.ts +20 -20
- package/lib/cjs/tile/I3dmTileIO.d.ts.map +1 -1
- package/lib/cjs/tile/I3dmTileIO.js +40 -40
- package/lib/cjs/tile/I3dmTileIO.js.map +1 -1
- package/lib/cjs/tile/IModelTileIO.d.ts +75 -75
- package/lib/cjs/tile/IModelTileIO.js +95 -95
- package/lib/cjs/tile/IModelTileIO.js.map +1 -1
- package/lib/cjs/tile/PntsTileIO.d.ts +17 -17
- package/lib/cjs/tile/PntsTileIO.js +26 -26
- package/lib/cjs/tile/PntsTileIO.js.map +1 -1
- package/lib/cjs/tile/TileIO.d.ts +66 -66
- package/lib/cjs/tile/TileIO.js +118 -118
- package/lib/cjs/tile/TileIO.js.map +1 -1
- package/lib/cjs/tile/TileMetadata.d.ts +228 -228
- package/lib/cjs/tile/TileMetadata.js +676 -676
- package/lib/cjs/tile/TileMetadata.js.map +1 -1
- package/lib/esm/AmbientOcclusion.d.ts +49 -49
- package/lib/esm/AmbientOcclusion.js +52 -52
- package/lib/esm/AmbientOcclusion.js.map +1 -1
- package/lib/esm/AnalysisStyle.d.ts +134 -134
- package/lib/esm/AnalysisStyle.js +159 -159
- package/lib/esm/AnalysisStyle.js.map +1 -1
- package/lib/esm/AuthorizationClient.d.ts +11 -11
- package/lib/esm/AuthorizationClient.js +8 -8
- package/lib/esm/AuthorizationClient.js.map +1 -1
- package/lib/esm/BackgroundMapProvider.d.ts +51 -51
- package/lib/esm/BackgroundMapProvider.js +64 -64
- package/lib/esm/BackgroundMapProvider.js.map +1 -1
- package/lib/esm/BackgroundMapSettings.d.ts +136 -136
- package/lib/esm/BackgroundMapSettings.js +152 -152
- package/lib/esm/BackgroundMapSettings.js.map +1 -1
- package/lib/esm/Base64EncodedString.d.ts +30 -30
- package/lib/esm/Base64EncodedString.js +53 -53
- package/lib/esm/Base64EncodedString.js.map +1 -1
- package/lib/esm/BlobReader.d.ts +31 -31
- package/lib/esm/BlobReader.js +79 -79
- package/lib/esm/BlobReader.js.map +1 -1
- package/lib/esm/BriefcaseTypes.d.ts +189 -189
- package/lib/esm/BriefcaseTypes.js +92 -92
- package/lib/esm/BriefcaseTypes.js.map +1 -1
- package/lib/esm/Camera.d.ts +42 -42
- package/lib/esm/Camera.d.ts.map +1 -1
- package/lib/esm/Camera.js +58 -54
- package/lib/esm/Camera.js.map +1 -1
- package/lib/esm/ChangedElements.d.ts +83 -83
- package/lib/esm/ChangedElements.js +18 -18
- package/lib/esm/ChangedElements.js.map +1 -1
- package/lib/esm/ChangedEntities.d.ts +45 -45
- package/lib/esm/ChangedEntities.js +8 -8
- package/lib/esm/ChangedEntities.js.map +1 -1
- package/lib/esm/ChangesetProps.d.ts +98 -98
- package/lib/esm/ChangesetProps.js +19 -19
- package/lib/esm/ChangesetProps.js.map +1 -1
- package/lib/esm/ClipStyle.d.ts +89 -89
- package/lib/esm/ClipStyle.js +118 -118
- package/lib/esm/ClipStyle.js.map +1 -1
- package/lib/esm/CloudStorage.d.ts +62 -47
- package/lib/esm/CloudStorage.d.ts.map +1 -1
- package/lib/esm/CloudStorage.js +109 -99
- package/lib/esm/CloudStorage.js.map +1 -1
- package/lib/esm/CloudStorageTileCache.d.ts +27 -24
- package/lib/esm/CloudStorageTileCache.d.ts.map +1 -1
- package/lib/esm/CloudStorageTileCache.js +62 -58
- package/lib/esm/CloudStorageTileCache.js.map +1 -1
- package/lib/esm/Code.d.ts +256 -250
- package/lib/esm/Code.d.ts.map +1 -1
- package/lib/esm/Code.js +276 -272
- package/lib/esm/Code.js.map +1 -1
- package/lib/esm/ColorByName.d.ts +161 -161
- package/lib/esm/ColorByName.js +166 -166
- package/lib/esm/ColorByName.js.map +1 -1
- package/lib/esm/ColorDef.d.ts +208 -208
- package/lib/esm/ColorDef.d.ts.map +1 -1
- package/lib/esm/ColorDef.js +567 -565
- package/lib/esm/ColorDef.js.map +1 -1
- package/lib/esm/CommonLoggerCategory.d.ts +18 -18
- package/lib/esm/CommonLoggerCategory.js +23 -23
- package/lib/esm/CommonLoggerCategory.js.map +1 -1
- package/lib/esm/ConcurrentQuery.d.ts +241 -241
- package/lib/esm/ConcurrentQuery.d.ts.map +1 -1
- package/lib/esm/ConcurrentQuery.js +373 -331
- package/lib/esm/ConcurrentQuery.js.map +1 -1
- package/lib/esm/ContextRealityModel.d.ts +255 -255
- package/lib/esm/ContextRealityModel.js +320 -320
- package/lib/esm/ContextRealityModel.js.map +1 -1
- package/lib/esm/DisplayStyleSettings.d.ts +552 -552
- package/lib/esm/DisplayStyleSettings.js +946 -946
- package/lib/esm/DisplayStyleSettings.js.map +1 -1
- package/lib/esm/ECSchemaProps.d.ts +40 -0
- package/lib/esm/ECSchemaProps.d.ts.map +1 -0
- package/lib/esm/ECSchemaProps.js +9 -0
- package/lib/esm/ECSchemaProps.js.map +1 -0
- package/lib/esm/ECSqlReader.d.ts +70 -70
- package/lib/esm/ECSqlReader.js +275 -275
- package/lib/esm/ECSqlReader.js.map +1 -1
- package/lib/esm/ECSqlTypes.d.ts +128 -128
- package/lib/esm/ECSqlTypes.js +185 -185
- package/lib/esm/ECSqlTypes.js.map +1 -1
- package/lib/esm/ElementProps.d.ts +476 -470
- package/lib/esm/ElementProps.d.ts.map +1 -1
- package/lib/esm/ElementProps.js +92 -92
- package/lib/esm/ElementProps.js.map +1 -1
- package/lib/esm/EmphasizeElementsProps.d.ts +55 -55
- package/lib/esm/EmphasizeElementsProps.js +22 -22
- package/lib/esm/EmphasizeElementsProps.js.map +1 -1
- package/lib/esm/EntityProps.d.ts +176 -176
- package/lib/esm/EntityProps.js +107 -107
- package/lib/esm/EntityProps.js.map +1 -1
- package/lib/esm/Environment.d.ts +61 -61
- package/lib/esm/Environment.js +69 -69
- package/lib/esm/Environment.js.map +1 -1
- package/lib/esm/FeatureGates.d.ts +31 -31
- package/lib/esm/FeatureGates.d.ts.map +1 -1
- package/lib/esm/FeatureGates.js +51 -47
- package/lib/esm/FeatureGates.js.map +1 -1
- package/lib/esm/FeatureIndex.d.ts +39 -39
- package/lib/esm/FeatureIndex.d.ts.map +1 -1
- package/lib/esm/FeatureIndex.js +57 -53
- package/lib/esm/FeatureIndex.js.map +1 -1
- package/lib/esm/FeatureSymbology.d.ts +444 -444
- package/lib/esm/FeatureSymbology.d.ts.map +1 -1
- package/lib/esm/FeatureSymbology.js +609 -609
- package/lib/esm/FeatureSymbology.js.map +1 -1
- package/lib/esm/FeatureTable.d.ts +141 -141
- package/lib/esm/FeatureTable.js +272 -272
- package/lib/esm/FeatureTable.js.map +1 -1
- package/lib/esm/Fonts.d.ts +51 -51
- package/lib/esm/Fonts.d.ts.map +1 -1
- package/lib/esm/Fonts.js +49 -49
- package/lib/esm/Fonts.js.map +1 -1
- package/lib/esm/Frustum.d.ts +114 -114
- package/lib/esm/Frustum.d.ts.map +1 -1
- package/lib/esm/Frustum.js +288 -254
- package/lib/esm/Frustum.js.map +1 -1
- package/lib/esm/GeoCoordinateServices.d.ts +119 -119
- package/lib/esm/GeoCoordinateServices.js +76 -76
- package/lib/esm/GeoCoordinateServices.js.map +1 -1
- package/lib/esm/GeometryContainment.d.ts +28 -28
- package/lib/esm/GeometryContainment.js +8 -8
- package/lib/esm/GeometryContainment.js.map +1 -1
- package/lib/esm/GeometryParams.d.ts +130 -130
- package/lib/esm/GeometryParams.js +170 -170
- package/lib/esm/GeometryParams.js.map +1 -1
- package/lib/esm/GeometrySummary.d.ts +45 -45
- package/lib/esm/GeometrySummary.js +20 -20
- package/lib/esm/GeometrySummary.js.map +1 -1
- package/lib/esm/Gradient.d.ts +139 -123
- package/lib/esm/Gradient.d.ts.map +1 -1
- package/lib/esm/Gradient.js +452 -441
- package/lib/esm/Gradient.js.map +1 -1
- package/lib/esm/GraphicParams.d.ts +58 -58
- package/lib/esm/GraphicParams.js +81 -81
- package/lib/esm/GraphicParams.js.map +1 -1
- package/lib/esm/GroundPlane.d.ts +52 -52
- package/lib/esm/GroundPlane.js +60 -60
- package/lib/esm/GroundPlane.js.map +1 -1
- package/lib/esm/HSLColor.d.ts +20 -20
- package/lib/esm/HSLColor.js +28 -28
- package/lib/esm/HSLColor.js.map +1 -1
- package/lib/esm/HSVColor.d.ts +30 -30
- package/lib/esm/HSVColor.js +55 -55
- package/lib/esm/HSVColor.js.map +1 -1
- package/lib/esm/HiddenLine.d.ts +97 -97
- package/lib/esm/HiddenLine.js +159 -159
- package/lib/esm/HiddenLine.js.map +1 -1
- package/lib/esm/Hilite.d.ts +50 -50
- package/lib/esm/Hilite.js +61 -61
- package/lib/esm/Hilite.js.map +1 -1
- package/lib/esm/IModel.d.ts +355 -355
- package/lib/esm/IModel.js +335 -335
- package/lib/esm/IModel.js.map +1 -1
- package/lib/esm/IModelError.d.ts +36 -36
- package/lib/esm/IModelError.js +55 -55
- package/lib/esm/IModelError.js.map +1 -1
- package/lib/esm/IModelVersion.d.ts +68 -68
- package/lib/esm/IModelVersion.js +75 -75
- package/lib/esm/IModelVersion.js.map +1 -1
- package/lib/esm/Image.d.ts +86 -86
- package/lib/esm/Image.d.ts.map +1 -1
- package/lib/esm/Image.js +120 -118
- package/lib/esm/Image.js.map +1 -1
- package/lib/esm/IpcAppProps.d.ts +124 -124
- package/lib/esm/IpcAppProps.js +15 -15
- package/lib/esm/IpcAppProps.js.map +1 -1
- package/lib/esm/LightSettings.d.ts +224 -224
- package/lib/esm/LightSettings.js +301 -301
- package/lib/esm/LightSettings.js.map +1 -1
- package/lib/esm/LinePixels.d.ts +34 -34
- package/lib/esm/LinePixels.js +39 -39
- package/lib/esm/LinePixels.js.map +1 -1
- package/lib/esm/Localization.d.ts +111 -112
- package/lib/esm/Localization.d.ts.map +1 -1
- package/lib/esm/Localization.js +22 -22
- package/lib/esm/Localization.js.map +1 -1
- package/lib/esm/MapImagerySettings.d.ts +62 -62
- package/lib/esm/MapImagerySettings.js +76 -76
- package/lib/esm/MapImagerySettings.js.map +1 -1
- package/lib/esm/MapLayerSettings.d.ts +272 -272
- package/lib/esm/MapLayerSettings.js +403 -403
- package/lib/esm/MapLayerSettings.js.map +1 -1
- package/lib/esm/MassProperties.d.ts +64 -64
- package/lib/esm/MassProperties.js +20 -20
- package/lib/esm/MassProperties.js.map +1 -1
- package/lib/esm/MaterialProps.d.ts +118 -118
- package/lib/esm/MaterialProps.js +20 -20
- package/lib/esm/MaterialProps.js.map +1 -1
- package/lib/esm/ModelClipGroup.d.ts +67 -67
- package/lib/esm/ModelClipGroup.js +93 -93
- package/lib/esm/ModelClipGroup.js.map +1 -1
- package/lib/esm/ModelGeometryChanges.d.ts +107 -107
- package/lib/esm/ModelGeometryChanges.js +80 -80
- package/lib/esm/ModelGeometryChanges.js.map +1 -1
- package/lib/esm/ModelProps.d.ts +66 -66
- package/lib/esm/ModelProps.js +8 -8
- package/lib/esm/ModelProps.js.map +1 -1
- package/lib/esm/NativeAppProps.d.ts +122 -122
- package/lib/esm/NativeAppProps.js +27 -27
- package/lib/esm/NativeAppProps.js.map +1 -1
- package/lib/esm/OctEncodedNormal.d.ts +33 -33
- package/lib/esm/OctEncodedNormal.js +93 -93
- package/lib/esm/OctEncodedNormal.js.map +1 -1
- package/lib/esm/PlanProjectionSettings.d.ts +47 -47
- package/lib/esm/PlanProjectionSettings.js +59 -59
- package/lib/esm/PlanProjectionSettings.js.map +1 -1
- package/lib/esm/PlanarClipMask.d.ts +177 -177
- package/lib/esm/PlanarClipMask.js +132 -132
- package/lib/esm/PlanarClipMask.js.map +1 -1
- package/lib/esm/QPoint.d.ts +479 -299
- package/lib/esm/QPoint.d.ts.map +1 -1
- package/lib/esm/QPoint.js +815 -617
- package/lib/esm/QPoint.js.map +1 -1
- package/lib/esm/RealityDataAccessProps.d.ts +41 -41
- package/lib/esm/RealityDataAccessProps.js +16 -16
- package/lib/esm/RealityDataAccessProps.js.map +1 -1
- package/lib/esm/Render.d.ts +89 -89
- package/lib/esm/Render.d.ts.map +1 -1
- package/lib/esm/Render.js +165 -157
- package/lib/esm/Render.js.map +1 -1
- package/lib/esm/RenderMaterial.d.ts +58 -58
- package/lib/esm/RenderMaterial.js +72 -72
- package/lib/esm/RenderMaterial.js.map +1 -1
- package/lib/esm/RenderSchedule.d.ts +540 -540
- package/lib/esm/RenderSchedule.js +997 -997
- package/lib/esm/RenderTexture.d.ts +70 -70
- package/lib/esm/RenderTexture.js +55 -55
- package/lib/esm/RenderTexture.js.map +1 -1
- package/lib/esm/RgbColor.d.ts +39 -39
- package/lib/esm/RgbColor.js +63 -63
- package/lib/esm/RgbColor.js.map +1 -1
- package/lib/esm/RpcInterface.d.ts +33 -33
- package/lib/esm/RpcInterface.js +133 -133
- package/lib/esm/RpcInterface.js.map +1 -1
- package/lib/esm/RpcManager.d.ts +40 -40
- package/lib/esm/RpcManager.js +51 -51
- package/lib/esm/RpcManager.js.map +1 -1
- package/lib/esm/SessionProps.d.ts +16 -16
- package/lib/esm/SessionProps.js +8 -8
- package/lib/esm/SessionProps.js.map +1 -1
- package/lib/esm/SkyBox.d.ts +215 -215
- package/lib/esm/SkyBox.js +203 -203
- package/lib/esm/SkyBox.js.map +1 -1
- package/lib/esm/Snapping.d.ts +49 -49
- package/lib/esm/Snapping.js +8 -8
- package/lib/esm/Snapping.js.map +1 -1
- package/lib/esm/SolarCalculate.d.ts +27 -27
- package/lib/esm/SolarCalculate.js +204 -204
- package/lib/esm/SolarCalculate.js.map +1 -1
- package/lib/esm/SolarShadows.d.ts +35 -35
- package/lib/esm/SolarShadows.js +58 -58
- package/lib/esm/SolarShadows.js.map +1 -1
- package/lib/esm/SpatialClassification.d.ts +208 -208
- package/lib/esm/SpatialClassification.js +334 -334
- package/lib/esm/SpatialClassification.js.map +1 -1
- package/lib/esm/SubCategoryAppearance.d.ts +91 -91
- package/lib/esm/SubCategoryAppearance.js +92 -92
- package/lib/esm/SubCategoryAppearance.js.map +1 -1
- package/lib/esm/SubCategoryOverride.d.ts +46 -46
- package/lib/esm/SubCategoryOverride.d.ts.map +1 -1
- package/lib/esm/SubCategoryOverride.js +100 -100
- package/lib/esm/SubCategoryOverride.js.map +1 -1
- package/lib/esm/TerrainSettings.d.ts +82 -77
- package/lib/esm/TerrainSettings.d.ts.map +1 -1
- package/lib/esm/TerrainSettings.js +98 -97
- package/lib/esm/TerrainSettings.js.map +1 -1
- package/lib/esm/TextureMapping.d.ts +101 -101
- package/lib/esm/TextureMapping.js +170 -170
- package/lib/esm/TextureMapping.js.map +1 -1
- package/lib/esm/TextureProps.d.ts +65 -65
- package/lib/esm/TextureProps.js +25 -25
- package/lib/esm/TextureProps.js.map +1 -1
- package/lib/esm/ThematicDisplay.d.ts +230 -234
- package/lib/esm/ThematicDisplay.d.ts.map +1 -1
- package/lib/esm/ThematicDisplay.js +337 -337
- package/lib/esm/ThematicDisplay.js.map +1 -1
- package/lib/esm/Thumbnail.d.ts +26 -26
- package/lib/esm/Thumbnail.js +8 -8
- package/lib/esm/Thumbnail.js.map +1 -1
- package/lib/esm/TileProps.d.ts +82 -77
- package/lib/esm/TileProps.d.ts.map +1 -1
- package/lib/esm/TileProps.js +25 -15
- package/lib/esm/TileProps.js.map +1 -1
- package/lib/esm/Tween.d.ts +191 -191
- package/lib/esm/Tween.js +565 -565
- package/lib/esm/Tween.js.map +1 -1
- package/lib/esm/TxnAction.d.ts +21 -21
- package/lib/esm/TxnAction.js +26 -26
- package/lib/esm/TxnAction.js.map +1 -1
- package/lib/esm/ViewDetails.d.ts +125 -125
- package/lib/esm/ViewDetails.js +153 -153
- package/lib/esm/ViewDetails.js.map +1 -1
- package/lib/esm/ViewFlags.d.ts +291 -291
- package/lib/esm/ViewFlags.d.ts.map +1 -1
- package/lib/esm/ViewFlags.js +364 -364
- package/lib/esm/ViewFlags.js.map +1 -1
- package/lib/esm/ViewProps.d.ts +205 -205
- package/lib/esm/ViewProps.js +8 -8
- package/lib/esm/ViewProps.js.map +1 -1
- package/lib/esm/WhiteOnWhiteReversalSettings.d.ts +36 -36
- package/lib/esm/WhiteOnWhiteReversalSettings.js +33 -33
- package/lib/esm/WhiteOnWhiteReversalSettings.js.map +1 -1
- package/lib/esm/core-common.d.ts +240 -239
- package/lib/esm/core-common.d.ts.map +1 -1
- package/lib/esm/core-common.js +244 -243
- package/lib/esm/core-common.js.map +1 -1
- package/lib/esm/domains/FunctionalElementProps.d.ts +11 -11
- package/lib/esm/domains/FunctionalElementProps.js +8 -8
- package/lib/esm/domains/FunctionalElementProps.js.map +1 -1
- package/lib/esm/domains/GenericElementProps.d.ts +18 -18
- package/lib/esm/domains/GenericElementProps.js +8 -8
- package/lib/esm/domains/GenericElementProps.js.map +1 -1
- package/lib/esm/geometry/AdditionalTransform.d.ts +84 -84
- package/lib/esm/geometry/AdditionalTransform.js +80 -80
- package/lib/esm/geometry/AdditionalTransform.js.map +1 -1
- package/lib/esm/geometry/AreaPattern.d.ts +82 -82
- package/lib/esm/geometry/AreaPattern.js +201 -201
- package/lib/esm/geometry/AreaPattern.js.map +1 -1
- package/lib/esm/geometry/BoundingSphere.d.ts +14 -14
- package/lib/esm/geometry/BoundingSphere.d.ts.map +1 -1
- package/lib/esm/geometry/BoundingSphere.js +26 -20
- package/lib/esm/geometry/BoundingSphere.js.map +1 -1
- package/lib/esm/geometry/Cartographic.d.ts +137 -137
- package/lib/esm/geometry/Cartographic.js +340 -340
- package/lib/esm/geometry/Cartographic.js.map +1 -1
- package/lib/esm/geometry/CoordinateReferenceSystem.d.ts +269 -269
- package/lib/esm/geometry/CoordinateReferenceSystem.js +254 -254
- package/lib/esm/geometry/CoordinateReferenceSystem.js.map +1 -1
- package/lib/esm/geometry/ElementGeometry.d.ts +402 -402
- package/lib/esm/geometry/ElementGeometry.js +1716 -1716
- package/lib/esm/geometry/ElementGeometry.js.map +1 -1
- package/lib/esm/geometry/ElementGeometryFB.d.ts +2372 -2372
- package/lib/esm/geometry/ElementGeometryFB.js +3811 -3811
- package/lib/esm/geometry/ElementGeometryFB.js.map +1 -1
- package/lib/esm/geometry/FrustumPlanes.d.ts +32 -32
- package/lib/esm/geometry/FrustumPlanes.js +128 -128
- package/lib/esm/geometry/FrustumPlanes.js.map +1 -1
- package/lib/esm/geometry/GeodeticDatum.d.ts +409 -409
- package/lib/esm/geometry/GeodeticDatum.js +390 -390
- package/lib/esm/geometry/GeodeticDatum.js.map +1 -1
- package/lib/esm/geometry/GeodeticEllipsoid.d.ts +72 -72
- package/lib/esm/geometry/GeodeticEllipsoid.js +68 -68
- package/lib/esm/geometry/GeodeticEllipsoid.js.map +1 -1
- package/lib/esm/geometry/GeometryStream.d.ts +347 -347
- package/lib/esm/geometry/GeometryStream.js +464 -464
- package/lib/esm/geometry/GeometryStream.js.map +1 -1
- package/lib/esm/geometry/ImageGraphic.d.ts +74 -74
- package/lib/esm/geometry/ImageGraphic.js +93 -93
- package/lib/esm/geometry/ImageGraphic.js.map +1 -1
- package/lib/esm/geometry/LineStyle.d.ts +71 -71
- package/lib/esm/geometry/LineStyle.js +126 -126
- package/lib/esm/geometry/LineStyle.js.map +1 -1
- package/lib/esm/geometry/Placement.d.ts +95 -95
- package/lib/esm/geometry/Placement.js +126 -126
- package/lib/esm/geometry/Placement.js.map +1 -1
- package/lib/esm/geometry/Projection.d.ts +251 -251
- package/lib/esm/geometry/Projection.js +192 -192
- package/lib/esm/geometry/Projection.js.map +1 -1
- package/lib/esm/geometry/TextString.d.ts +55 -55
- package/lib/esm/geometry/TextString.d.ts.map +1 -1
- package/lib/esm/geometry/TextString.js +61 -61
- package/lib/esm/geometry/TextString.js.map +1 -1
- package/lib/esm/ipc/IpcSession.d.ts +23 -23
- package/lib/esm/ipc/IpcSession.js +23 -23
- package/lib/esm/ipc/IpcSession.js.map +1 -1
- package/lib/esm/ipc/IpcSocket.d.ts +96 -96
- package/lib/esm/ipc/IpcSocket.js +12 -12
- package/lib/esm/ipc/IpcSocket.js.map +1 -1
- package/lib/esm/ipc/IpcWebSocket.d.ts +61 -58
- package/lib/esm/ipc/IpcWebSocket.d.ts.map +1 -1
- package/lib/esm/ipc/IpcWebSocket.js +145 -131
- package/lib/esm/ipc/IpcWebSocket.js.map +1 -1
- package/lib/esm/ipc/IpcWebSocketTransport.d.ts +15 -15
- package/lib/esm/ipc/IpcWebSocketTransport.js +154 -147
- package/lib/esm/ipc/IpcWebSocketTransport.js.map +1 -1
- package/lib/esm/rpc/DevToolsRpcInterface.d.ts +32 -32
- package/lib/esm/rpc/DevToolsRpcInterface.js +44 -44
- package/lib/esm/rpc/DevToolsRpcInterface.js.map +1 -1
- package/lib/esm/rpc/IModelReadRpcInterface.d.ts +75 -75
- package/lib/esm/rpc/IModelReadRpcInterface.js +110 -110
- package/lib/esm/rpc/IModelReadRpcInterface.js.map +1 -1
- package/lib/esm/rpc/IModelTileRpcInterface.d.ts +61 -53
- package/lib/esm/rpc/IModelTileRpcInterface.d.ts.map +1 -1
- package/lib/esm/rpc/IModelTileRpcInterface.js +91 -82
- package/lib/esm/rpc/IModelTileRpcInterface.js.map +1 -1
- package/lib/esm/rpc/SnapshotIModelRpcInterface.d.ts +23 -23
- package/lib/esm/rpc/SnapshotIModelRpcInterface.js +44 -44
- package/lib/esm/rpc/SnapshotIModelRpcInterface.js.map +1 -1
- package/lib/esm/rpc/TestRpcManager.d.ts +20 -20
- package/lib/esm/rpc/TestRpcManager.js +35 -35
- package/lib/esm/rpc/TestRpcManager.js.map +1 -1
- package/lib/esm/rpc/WipRpcInterface.d.ts +29 -29
- package/lib/esm/rpc/WipRpcInterface.js +36 -36
- package/lib/esm/rpc/WipRpcInterface.js.map +1 -1
- package/lib/esm/rpc/core/RpcConfiguration.d.ts +111 -111
- package/lib/esm/rpc/core/RpcConfiguration.js +185 -185
- package/lib/esm/rpc/core/RpcConfiguration.js.map +1 -1
- package/lib/esm/rpc/core/RpcConstants.d.ts +85 -83
- package/lib/esm/rpc/core/RpcConstants.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcConstants.js +100 -97
- package/lib/esm/rpc/core/RpcConstants.js.map +1 -1
- package/lib/esm/rpc/core/RpcControl.d.ts +52 -52
- package/lib/esm/rpc/core/RpcControl.js +142 -142
- package/lib/esm/rpc/core/RpcControl.js.map +1 -1
- package/lib/esm/rpc/core/RpcInvocation.d.ts +89 -89
- package/lib/esm/rpc/core/RpcInvocation.js +253 -253
- package/lib/esm/rpc/core/RpcInvocation.js.map +1 -1
- package/lib/esm/rpc/core/RpcMarshaling.d.ts +36 -36
- package/lib/esm/rpc/core/RpcMarshaling.js +149 -149
- package/lib/esm/rpc/core/RpcMarshaling.js.map +1 -1
- package/lib/esm/rpc/core/RpcOperation.d.ts +67 -67
- package/lib/esm/rpc/core/RpcOperation.js +128 -128
- package/lib/esm/rpc/core/RpcOperation.js.map +1 -1
- package/lib/esm/rpc/core/RpcPendingQueue.d.ts +21 -21
- package/lib/esm/rpc/core/RpcPendingQueue.js +90 -90
- package/lib/esm/rpc/core/RpcPendingQueue.js.map +1 -1
- package/lib/esm/rpc/core/RpcProtocol.d.ts +132 -132
- package/lib/esm/rpc/core/RpcProtocol.js +123 -123
- package/lib/esm/rpc/core/RpcProtocol.js.map +1 -1
- package/lib/esm/rpc/core/RpcPush.d.ts +68 -68
- package/lib/esm/rpc/core/RpcPush.js +119 -119
- package/lib/esm/rpc/core/RpcPush.js.map +1 -1
- package/lib/esm/rpc/core/RpcRegistry.d.ts +48 -48
- package/lib/esm/rpc/core/RpcRegistry.js +194 -194
- package/lib/esm/rpc/core/RpcRegistry.js.map +1 -1
- package/lib/esm/rpc/core/RpcRequest.d.ts +186 -186
- package/lib/esm/rpc/core/RpcRequest.d.ts.map +1 -1
- package/lib/esm/rpc/core/RpcRequest.js +472 -466
- package/lib/esm/rpc/core/RpcRequest.js.map +1 -1
- package/lib/esm/rpc/core/RpcRequestContext.d.ts +14 -14
- package/lib/esm/rpc/core/RpcRequestContext.js +1 -1
- package/lib/esm/rpc/core/RpcRequestContext.js.map +1 -1
- package/lib/esm/rpc/core/RpcRoutingToken.d.ts +12 -12
- package/lib/esm/rpc/core/RpcRoutingToken.js +19 -19
- package/lib/esm/rpc/core/RpcRoutingToken.js.map +1 -1
- package/lib/esm/rpc/core/RpcSessionInvocation.d.ts +10 -10
- package/lib/esm/rpc/core/RpcSessionInvocation.js +55 -55
- package/lib/esm/rpc/core/RpcSessionInvocation.js.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcManager.d.ts +46 -46
- package/lib/esm/rpc/web/BentleyCloudRpcManager.js +68 -68
- package/lib/esm/rpc/web/BentleyCloudRpcManager.js.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts +33 -33
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js +138 -135
- package/lib/esm/rpc/web/BentleyCloudRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/OpenAPI.d.ts +139 -139
- package/lib/esm/rpc/web/OpenAPI.js +56 -56
- package/lib/esm/rpc/web/OpenAPI.js.map +1 -1
- package/lib/esm/rpc/web/RpcMultipart.d.ts +31 -31
- package/lib/esm/rpc/web/RpcMultipart.js +41 -41
- package/lib/esm/rpc/web/RpcMultipart.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcLogging.d.ts +17 -17
- package/lib/esm/rpc/web/WebAppRpcLogging.js +136 -136
- package/lib/esm/rpc/web/WebAppRpcLogging.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts +86 -86
- package/lib/esm/rpc/web/WebAppRpcProtocol.d.ts.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcProtocol.js +112 -96
- package/lib/esm/rpc/web/WebAppRpcProtocol.js.map +1 -1
- package/lib/esm/rpc/web/WebAppRpcRequest.d.ts +71 -71
- package/lib/esm/rpc/web/WebAppRpcRequest.js +370 -370
- package/lib/esm/rpc/web/WebAppRpcRequest.js.map +1 -1
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts +33 -33
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.d.ts.map +1 -1
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.js +355 -355
- package/lib/esm/rpc/web/multipart/RpcMultipartParser.js.map +1 -1
- package/lib/esm/tile/B3dmTileIO.d.ts +19 -19
- package/lib/esm/tile/B3dmTileIO.js +62 -62
- package/lib/esm/tile/B3dmTileIO.js.map +1 -1
- package/lib/esm/tile/CompositeTileIO.d.ts +15 -15
- package/lib/esm/tile/CompositeTileIO.js +22 -22
- package/lib/esm/tile/CompositeTileIO.js.map +1 -1
- package/lib/esm/tile/ElementGraphics.d.ts +134 -134
- package/lib/esm/tile/ElementGraphics.js +8 -8
- package/lib/esm/tile/ElementGraphics.js.map +1 -1
- package/lib/esm/tile/GltfTileIO.d.ts +45 -45
- package/lib/esm/tile/GltfTileIO.js +105 -105
- package/lib/esm/tile/GltfTileIO.js.map +1 -1
- package/lib/esm/tile/I3dmTileIO.d.ts +20 -20
- package/lib/esm/tile/I3dmTileIO.d.ts.map +1 -1
- package/lib/esm/tile/I3dmTileIO.js +36 -36
- package/lib/esm/tile/I3dmTileIO.js.map +1 -1
- package/lib/esm/tile/IModelTileIO.d.ts +75 -75
- package/lib/esm/tile/IModelTileIO.js +90 -90
- package/lib/esm/tile/IModelTileIO.js.map +1 -1
- package/lib/esm/tile/PntsTileIO.d.ts +17 -17
- package/lib/esm/tile/PntsTileIO.js +22 -22
- package/lib/esm/tile/PntsTileIO.js.map +1 -1
- package/lib/esm/tile/TileIO.d.ts +66 -66
- package/lib/esm/tile/TileIO.js +110 -110
- package/lib/esm/tile/TileIO.js.map +1 -1
- package/lib/esm/tile/TileMetadata.d.ts +228 -228
- package/lib/esm/tile/TileMetadata.js +661 -661
- package/lib/esm/tile/TileMetadata.js.map +1 -1
- package/package.json +10 -9
|
@@ -1,371 +1,371 @@
|
|
|
1
|
-
/*---------------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
-
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
-
*--------------------------------------------------------------------------------------------*/
|
|
5
|
-
/** @packageDocumentation
|
|
6
|
-
* @module RpcInterface
|
|
7
|
-
*/
|
|
8
|
-
import { BentleyStatus } from "@itwin/core-bentley";
|
|
9
|
-
import { Buffer } from "buffer";
|
|
10
|
-
import { IModelError, ServerError, ServerTimeoutError } from "../../IModelError";
|
|
11
|
-
import { RpcContentType, RpcProtocolEvent, RpcRequestStatus, RpcResponseCacheControl, WEB_RPC_CONSTANTS } from "../core/RpcConstants";
|
|
12
|
-
import { MarshalingBinaryMarker, RpcSerializedValue } from "../core/RpcMarshaling";
|
|
13
|
-
import { RpcProtocol } from "../core/RpcProtocol";
|
|
14
|
-
import { RpcRequest } from "../core/RpcRequest";
|
|
15
|
-
import { RpcMultipartParser } from "./multipart/RpcMultipartParser";
|
|
16
|
-
import { RpcMultipart } from "./RpcMultipart";
|
|
17
|
-
import { WebAppRpcProtocol } from "./WebAppRpcProtocol";
|
|
18
|
-
/** A web application RPC request.
|
|
19
|
-
* @internal
|
|
20
|
-
*/
|
|
21
|
-
export class WebAppRpcRequest extends RpcRequest {
|
|
22
|
-
/** Constructs a web application request. */
|
|
23
|
-
constructor(client, operation, parameters) {
|
|
24
|
-
super(client, operation, parameters);
|
|
25
|
-
this._loading = false;
|
|
26
|
-
this._request = {};
|
|
27
|
-
this._pathSuffix = "";
|
|
28
|
-
/** Convenience access to the protocol of this request. */
|
|
29
|
-
this.protocol = this.client.configuration.protocol;
|
|
30
|
-
/** Standardized access to metadata about the request (useful for purposes such as logging). */
|
|
31
|
-
this.metadata = { status: 0, message: "" };
|
|
32
|
-
this.path = this.protocol.supplyPathForOperation(this.operation, this);
|
|
33
|
-
this.method = "head";
|
|
34
|
-
this._request.headers = {};
|
|
35
|
-
}
|
|
36
|
-
get _headers() { return this._request.headers; }
|
|
37
|
-
/** Parse headers */
|
|
38
|
-
static parseHeaders(protocol, req) {
|
|
39
|
-
var _a;
|
|
40
|
-
const headerNames = protocol.serializedClientRequestContextHeaderNames;
|
|
41
|
-
const parsedHeaders = {
|
|
42
|
-
id: req.header(headerNames.id) || "",
|
|
43
|
-
applicationId: req.header(headerNames.applicationId) || "",
|
|
44
|
-
applicationVersion: req.header(headerNames.applicationVersion) || "",
|
|
45
|
-
sessionId: req.header(headerNames.sessionId) || "",
|
|
46
|
-
authorization: (_a = (headerNames.authorization ? req.header(headerNames.authorization) : "")) !== null && _a !== void 0 ? _a : "",
|
|
47
|
-
};
|
|
48
|
-
return parsedHeaders;
|
|
49
|
-
}
|
|
50
|
-
/** Parses a request. */
|
|
51
|
-
static async parseRequest(protocol, req) {
|
|
52
|
-
const operation = protocol.getOperationFromPath(req.url);
|
|
53
|
-
const parsedHeaders = this.parseHeaders(protocol, req);
|
|
54
|
-
const request = {
|
|
55
|
-
...parsedHeaders,
|
|
56
|
-
operation: {
|
|
57
|
-
interfaceDefinition: operation.interfaceDefinition,
|
|
58
|
-
operationName: operation.operationName,
|
|
59
|
-
interfaceVersion: operation.interfaceVersion,
|
|
60
|
-
},
|
|
61
|
-
method: req.method,
|
|
62
|
-
path: req.url,
|
|
63
|
-
parameters: operation.encodedRequest ? WebAppRpcRequest.parseFromPath(operation) : await WebAppRpcRequest.parseFromBody(req),
|
|
64
|
-
caching: operation.encodedRequest ? RpcResponseCacheControl.Immutable : RpcResponseCacheControl.None,
|
|
65
|
-
};
|
|
66
|
-
request.ip = req.ip;
|
|
67
|
-
request.protocolVersion = 0;
|
|
68
|
-
if (protocol.protocolVersionHeaderName) {
|
|
69
|
-
const version = req.header(protocol.protocolVersionHeaderName);
|
|
70
|
-
if (version) {
|
|
71
|
-
request.protocolVersion = parseInt(version, 10);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (!request.id) {
|
|
75
|
-
throw new IModelError(BentleyStatus.ERROR, `Invalid request.`);
|
|
76
|
-
}
|
|
77
|
-
return request;
|
|
78
|
-
}
|
|
79
|
-
/** Sends the response for a web request. */
|
|
80
|
-
static async sendResponse(protocol, request, fulfillment, req, res) {
|
|
81
|
-
var _a;
|
|
82
|
-
const versionHeader = protocol.protocolVersionHeaderName;
|
|
83
|
-
if (versionHeader && RpcProtocol.protocolVersion) {
|
|
84
|
-
res.set(versionHeader, RpcProtocol.protocolVersion.toString());
|
|
85
|
-
}
|
|
86
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
87
|
-
const { Readable, Stream } = await import(/* webpackIgnore: true */ "stream");
|
|
88
|
-
const { createGzip } = await import(/* webpackIgnore: true */ "zlib");
|
|
89
|
-
const transportType = WebAppRpcRequest.computeTransportType(fulfillment.result, fulfillment.rawResult);
|
|
90
|
-
let responseBody;
|
|
91
|
-
if (transportType === RpcContentType.Binary) {
|
|
92
|
-
responseBody = WebAppRpcRequest.configureBinary(fulfillment, res);
|
|
93
|
-
}
|
|
94
|
-
else if (transportType === RpcContentType.Multipart) {
|
|
95
|
-
responseBody = WebAppRpcRequest.configureMultipart(fulfillment, res);
|
|
96
|
-
}
|
|
97
|
-
else if (transportType === RpcContentType.Stream) {
|
|
98
|
-
responseBody = WebAppRpcRequest.configureStream(fulfillment);
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
responseBody = WebAppRpcRequest.configureText(fulfillment, res);
|
|
102
|
-
}
|
|
103
|
-
WebAppRpcRequest.configureResponse(protocol, request, fulfillment, res);
|
|
104
|
-
res.status(fulfillment.status);
|
|
105
|
-
if (fulfillment.allowCompression && ((_a = req.header("Accept-Encoding")) === null || _a === void 0 ? void 0 : _a.includes("gzip"))) {
|
|
106
|
-
res.set("Content-Encoding", "gzip");
|
|
107
|
-
const readableResponseBody = (responseBody instanceof Stream) ? responseBody : Readable.from(responseBody);
|
|
108
|
-
responseBody = readableResponseBody.pipe(createGzip());
|
|
109
|
-
}
|
|
110
|
-
// This check should in theory look for instances of Readable, but that would break backend implementation at
|
|
111
|
-
// core/backend/src/RpcBackend.ts
|
|
112
|
-
if (responseBody instanceof Stream) {
|
|
113
|
-
responseBody.pipe(res);
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
res.send(responseBody);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/** Determines the most efficient transport type for an RPC value. */
|
|
120
|
-
static computeTransportType(value, source) {
|
|
121
|
-
if (source instanceof Uint8Array || (Array.isArray(source) && source[0] instanceof Uint8Array)) {
|
|
122
|
-
return RpcContentType.Binary;
|
|
123
|
-
}
|
|
124
|
-
else if (value.data.length > 0) {
|
|
125
|
-
return RpcContentType.Multipart;
|
|
126
|
-
}
|
|
127
|
-
else if (value.stream) {
|
|
128
|
-
return RpcContentType.Stream;
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
return RpcContentType.Text;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
/** Sets request header values. */
|
|
135
|
-
setHeader(name, value) {
|
|
136
|
-
this._headers[name] = value;
|
|
137
|
-
}
|
|
138
|
-
/** Sends the request. */
|
|
139
|
-
async send() {
|
|
140
|
-
this._loading = true;
|
|
141
|
-
await this.setupTransport();
|
|
142
|
-
return new Promise(async (resolve, reject) => {
|
|
143
|
-
try {
|
|
144
|
-
resolve(await this.performFetch());
|
|
145
|
-
}
|
|
146
|
-
catch (reason) {
|
|
147
|
-
reject(new ServerError(-1, typeof (reason) === "string" ? reason : "Server connection error."));
|
|
148
|
-
}
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
computeRetryAfter(attempts) {
|
|
152
|
-
const retryAfter = this._response && this._response.headers.get("Retry-After");
|
|
153
|
-
if (retryAfter) {
|
|
154
|
-
this.resetTransientFaultCount();
|
|
155
|
-
const r = Number(retryAfter);
|
|
156
|
-
if (Number.isFinite(r)) {
|
|
157
|
-
return r * 1000;
|
|
158
|
-
}
|
|
159
|
-
const d = Date.parse(retryAfter);
|
|
160
|
-
if (!Number.isNaN(d)) {
|
|
161
|
-
return d - Date.now();
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
this.recordTransientFault();
|
|
166
|
-
}
|
|
167
|
-
return super.computeRetryAfter(attempts);
|
|
168
|
-
}
|
|
169
|
-
handleUnknownResponse(code) {
|
|
170
|
-
if (this.protocol.isTimeout(code)) {
|
|
171
|
-
this.reject(new ServerTimeoutError("Request timeout."));
|
|
172
|
-
}
|
|
173
|
-
else {
|
|
174
|
-
this.reject(new ServerError(code, "Unknown server response code."));
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
async load() {
|
|
178
|
-
return new Promise(async (resolve, reject) => {
|
|
179
|
-
try {
|
|
180
|
-
if (!this._loading)
|
|
181
|
-
return;
|
|
182
|
-
const response = this._response;
|
|
183
|
-
if (!response) {
|
|
184
|
-
reject(new IModelError(BentleyStatus.ERROR, "Invalid state."));
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
if (this.protocol.protocolVersionHeaderName) {
|
|
188
|
-
const version = response.headers.get(this.protocol.protocolVersionHeaderName);
|
|
189
|
-
if (version) {
|
|
190
|
-
this.responseProtocolVersion = parseInt(version, 10);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
const contentType = response.headers.get(WEB_RPC_CONSTANTS.CONTENT);
|
|
194
|
-
const responseType = WebAppRpcProtocol.computeContentType(contentType);
|
|
195
|
-
if (responseType === RpcContentType.Binary) {
|
|
196
|
-
resolve(await this.loadBinary(response));
|
|
197
|
-
}
|
|
198
|
-
else if (responseType === RpcContentType.Multipart) {
|
|
199
|
-
resolve(await this.loadMultipart(response, contentType));
|
|
200
|
-
}
|
|
201
|
-
else {
|
|
202
|
-
resolve(await this.loadText(response));
|
|
203
|
-
}
|
|
204
|
-
this._loading = false;
|
|
205
|
-
this.setLastUpdatedTime();
|
|
206
|
-
this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoaded, this);
|
|
207
|
-
}
|
|
208
|
-
catch (reason) {
|
|
209
|
-
if (!this._loading)
|
|
210
|
-
return;
|
|
211
|
-
this._loading = false;
|
|
212
|
-
reject(new ServerError(this.metadata.status, typeof (reason) === "string" ? reason : "Unknown server response error."));
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
/** Override to supply an alternate fetch function. */
|
|
217
|
-
supplyFetch() {
|
|
218
|
-
return fetch;
|
|
219
|
-
}
|
|
220
|
-
/** Override to supply an alternate Request function. */
|
|
221
|
-
supplyRequest() {
|
|
222
|
-
return Request;
|
|
223
|
-
}
|
|
224
|
-
static configureResponse(protocol, request, fulfillment, res) {
|
|
225
|
-
const success = protocol.getStatus(fulfillment.status) === RpcRequestStatus.Resolved;
|
|
226
|
-
// TODO: Use stale-while-revalidate in cache headers. This needs to be tested, and does not currently have support in the router/caching-service.
|
|
227
|
-
// This will allow browsers to use stale cached responses while also revalidating with the router, allowing us to start up a backend if necessary.
|
|
228
|
-
// RPC Caching Service uses the s-maxage header to determine the TTL for the redis cache.
|
|
229
|
-
const oneHourInSeconds = 3600;
|
|
230
|
-
if (success && request.caching === RpcResponseCacheControl.Immutable) {
|
|
231
|
-
// If response size is > 50 MB, do not cache it.
|
|
232
|
-
if (fulfillment.result.objects.length > (50 * 10 ** 7)) {
|
|
233
|
-
res.set("Cache-Control", "no-store");
|
|
234
|
-
}
|
|
235
|
-
else if (request.operation.operationName === "generateTileContent") {
|
|
236
|
-
res.set("Cache-Control", "no-store");
|
|
237
|
-
}
|
|
238
|
-
else if (request.operation.operationName === "getConnectionProps") {
|
|
239
|
-
// GetConnectionprops can't be cached on the browser longer than the lifespan of the backend. The lifespan of backend may shrink too. Keep it at 1 second to be safe.
|
|
240
|
-
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 24}, max-age=1, immutable`);
|
|
241
|
-
}
|
|
242
|
-
else if (request.operation.operationName === "getTileCacheContainerUrl") {
|
|
243
|
-
// getTileCacheContainerUrl returns a SAS with an expiry of 23:59:59. We can't exceed that time when setting the max-age.
|
|
244
|
-
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 23}, max-age=${oneHourInSeconds * 23}, immutable`);
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 24}, max-age=${oneHourInSeconds * 48}, immutable`);
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
if (fulfillment.retry) {
|
|
251
|
-
res.set("Retry-After", fulfillment.retry);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
static configureText(fulfillment, res) {
|
|
255
|
-
res.set(WEB_RPC_CONSTANTS.CONTENT, WEB_RPC_CONSTANTS.TEXT);
|
|
256
|
-
return (fulfillment.status === 204) ? "" : fulfillment.result.objects;
|
|
257
|
-
}
|
|
258
|
-
static configureBinary(fulfillment, res) {
|
|
259
|
-
res.set(WEB_RPC_CONSTANTS.CONTENT, WEB_RPC_CONSTANTS.BINARY);
|
|
260
|
-
const data = fulfillment.result.data[0];
|
|
261
|
-
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
262
|
-
}
|
|
263
|
-
static configureMultipart(fulfillment, res) {
|
|
264
|
-
const response = RpcMultipart.createStream(fulfillment.result);
|
|
265
|
-
const headers = response.getHeaders();
|
|
266
|
-
for (const header in headers) {
|
|
267
|
-
if (headers.hasOwnProperty(header)) {
|
|
268
|
-
res.set(header, headers[header]);
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
return response;
|
|
272
|
-
}
|
|
273
|
-
static configureStream(fulfillment) {
|
|
274
|
-
return fulfillment.result.stream;
|
|
275
|
-
}
|
|
276
|
-
static parseFromPath(operation) {
|
|
277
|
-
const decoded = operation.encodedRequest ? Buffer.from(operation.encodedRequest, "base64").toString("binary") : "";
|
|
278
|
-
return RpcSerializedValue.create(decoded);
|
|
279
|
-
}
|
|
280
|
-
static async parseFromBody(req) {
|
|
281
|
-
const contentType = WebAppRpcProtocol.computeContentType(req.header(WEB_RPC_CONSTANTS.CONTENT));
|
|
282
|
-
if (contentType === RpcContentType.Binary) {
|
|
283
|
-
const objects = JSON.stringify([MarshalingBinaryMarker.createDefault()]);
|
|
284
|
-
const data = [req.body];
|
|
285
|
-
return RpcSerializedValue.create(objects, data);
|
|
286
|
-
}
|
|
287
|
-
else if (contentType === RpcContentType.Multipart) {
|
|
288
|
-
return RpcMultipart.parseRequest(req);
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
return RpcSerializedValue.create(req.body);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
async performFetch() {
|
|
295
|
-
const requestClass = this.supplyRequest();
|
|
296
|
-
const fetchFunction = this.supplyFetch();
|
|
297
|
-
const path = new URL(this.path, typeof (location) !== "undefined" ? location.origin : undefined);
|
|
298
|
-
if (this._pathSuffix) {
|
|
299
|
-
const params = new URLSearchParams();
|
|
300
|
-
params.set("parameters", this._pathSuffix);
|
|
301
|
-
path.search = `?${params.toString()}`;
|
|
302
|
-
}
|
|
303
|
-
const request = new requestClass(path.toString(), this._request);
|
|
304
|
-
const response = await fetchFunction(request);
|
|
305
|
-
this._response = response;
|
|
306
|
-
this.metadata.status = response.status;
|
|
307
|
-
return response.status;
|
|
308
|
-
}
|
|
309
|
-
async loadText(response) {
|
|
310
|
-
const value = await response.text();
|
|
311
|
-
this.metadata.message = value;
|
|
312
|
-
return RpcSerializedValue.create(value);
|
|
313
|
-
}
|
|
314
|
-
async loadBinary(response) {
|
|
315
|
-
const value = new Uint8Array(await response.arrayBuffer());
|
|
316
|
-
const objects = JSON.stringify(MarshalingBinaryMarker.createDefault());
|
|
317
|
-
return RpcSerializedValue.create(objects, [value]);
|
|
318
|
-
}
|
|
319
|
-
async loadMultipart(response, contentType) {
|
|
320
|
-
const data = await response.arrayBuffer();
|
|
321
|
-
const value = new RpcMultipartParser(contentType, Buffer.from(data)).parse();
|
|
322
|
-
return value;
|
|
323
|
-
}
|
|
324
|
-
async setupTransport() {
|
|
325
|
-
const parameters = (await this.protocol.serialize(this)).parameters;
|
|
326
|
-
const transportType = WebAppRpcRequest.computeTransportType(parameters, this.parameters);
|
|
327
|
-
if (transportType === RpcContentType.Binary) {
|
|
328
|
-
this.setupBinaryTransport(parameters);
|
|
329
|
-
}
|
|
330
|
-
else if (transportType === RpcContentType.Multipart) {
|
|
331
|
-
this.setupMultipartTransport(parameters);
|
|
332
|
-
}
|
|
333
|
-
else {
|
|
334
|
-
this.setupTextTransport(parameters);
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
setupBinaryTransport(parameters) {
|
|
338
|
-
this._headers[WEB_RPC_CONSTANTS.CONTENT] = WEB_RPC_CONSTANTS.BINARY;
|
|
339
|
-
this._request.method = "post";
|
|
340
|
-
this._request.body = parameters.data[0];
|
|
341
|
-
}
|
|
342
|
-
setupMultipartTransport(parameters) {
|
|
343
|
-
// IMPORTANT: do not set a multipart Content-Type header value. The browser does this automatically!
|
|
344
|
-
delete this._headers[WEB_RPC_CONSTANTS.CONTENT];
|
|
345
|
-
this._request.method = "post";
|
|
346
|
-
this._request.body = RpcMultipart.createForm(parameters);
|
|
347
|
-
}
|
|
348
|
-
setupTextTransport(parameters) {
|
|
349
|
-
if (this.operation.policy.allowResponseCaching(this)) {
|
|
350
|
-
const encodedBody = btoa(parameters.objects); // eslint-disable-line deprecation/deprecation
|
|
351
|
-
if (encodedBody.length <= WebAppRpcRequest.maxUrlComponentSize) {
|
|
352
|
-
this._request.method = "get";
|
|
353
|
-
this._request.body = undefined;
|
|
354
|
-
delete this._headers[WEB_RPC_CONSTANTS.CONTENT];
|
|
355
|
-
this._pathSuffix = encodedBody;
|
|
356
|
-
return;
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
this._pathSuffix = "";
|
|
360
|
-
this._headers[WEB_RPC_CONSTANTS.CONTENT] = WEB_RPC_CONSTANTS.TEXT;
|
|
361
|
-
this._request.method = "post";
|
|
362
|
-
this._request.body = parameters.objects;
|
|
363
|
-
}
|
|
364
|
-
}
|
|
365
|
-
/** The maximum size permitted for an encoded component in a URL.
|
|
366
|
-
* Note that some backends limit the total cumulative request size. Our current node backends accept requests with a max size of 16 kb.
|
|
367
|
-
* In addition to the url size, an authorization header may also add considerably to the request size.
|
|
368
|
-
* @note This is used for features like encoding the payload of a cacheable request in the URL.
|
|
369
|
-
*/
|
|
370
|
-
WebAppRpcRequest.maxUrlComponentSize = 1024 * 8;
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
3
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/** @packageDocumentation
|
|
6
|
+
* @module RpcInterface
|
|
7
|
+
*/
|
|
8
|
+
import { BentleyStatus } from "@itwin/core-bentley";
|
|
9
|
+
import { Buffer } from "buffer";
|
|
10
|
+
import { IModelError, ServerError, ServerTimeoutError } from "../../IModelError";
|
|
11
|
+
import { RpcContentType, RpcProtocolEvent, RpcRequestStatus, RpcResponseCacheControl, WEB_RPC_CONSTANTS } from "../core/RpcConstants";
|
|
12
|
+
import { MarshalingBinaryMarker, RpcSerializedValue } from "../core/RpcMarshaling";
|
|
13
|
+
import { RpcProtocol } from "../core/RpcProtocol";
|
|
14
|
+
import { RpcRequest } from "../core/RpcRequest";
|
|
15
|
+
import { RpcMultipartParser } from "./multipart/RpcMultipartParser";
|
|
16
|
+
import { RpcMultipart } from "./RpcMultipart";
|
|
17
|
+
import { WebAppRpcProtocol } from "./WebAppRpcProtocol";
|
|
18
|
+
/** A web application RPC request.
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export class WebAppRpcRequest extends RpcRequest {
|
|
22
|
+
/** Constructs a web application request. */
|
|
23
|
+
constructor(client, operation, parameters) {
|
|
24
|
+
super(client, operation, parameters);
|
|
25
|
+
this._loading = false;
|
|
26
|
+
this._request = {};
|
|
27
|
+
this._pathSuffix = "";
|
|
28
|
+
/** Convenience access to the protocol of this request. */
|
|
29
|
+
this.protocol = this.client.configuration.protocol;
|
|
30
|
+
/** Standardized access to metadata about the request (useful for purposes such as logging). */
|
|
31
|
+
this.metadata = { status: 0, message: "" };
|
|
32
|
+
this.path = this.protocol.supplyPathForOperation(this.operation, this);
|
|
33
|
+
this.method = "head";
|
|
34
|
+
this._request.headers = {};
|
|
35
|
+
}
|
|
36
|
+
get _headers() { return this._request.headers; }
|
|
37
|
+
/** Parse headers */
|
|
38
|
+
static parseHeaders(protocol, req) {
|
|
39
|
+
var _a;
|
|
40
|
+
const headerNames = protocol.serializedClientRequestContextHeaderNames;
|
|
41
|
+
const parsedHeaders = {
|
|
42
|
+
id: req.header(headerNames.id) || "",
|
|
43
|
+
applicationId: req.header(headerNames.applicationId) || "",
|
|
44
|
+
applicationVersion: req.header(headerNames.applicationVersion) || "",
|
|
45
|
+
sessionId: req.header(headerNames.sessionId) || "",
|
|
46
|
+
authorization: (_a = (headerNames.authorization ? req.header(headerNames.authorization) : "")) !== null && _a !== void 0 ? _a : "",
|
|
47
|
+
};
|
|
48
|
+
return parsedHeaders;
|
|
49
|
+
}
|
|
50
|
+
/** Parses a request. */
|
|
51
|
+
static async parseRequest(protocol, req) {
|
|
52
|
+
const operation = protocol.getOperationFromPath(req.url);
|
|
53
|
+
const parsedHeaders = this.parseHeaders(protocol, req);
|
|
54
|
+
const request = {
|
|
55
|
+
...parsedHeaders,
|
|
56
|
+
operation: {
|
|
57
|
+
interfaceDefinition: operation.interfaceDefinition,
|
|
58
|
+
operationName: operation.operationName,
|
|
59
|
+
interfaceVersion: operation.interfaceVersion,
|
|
60
|
+
},
|
|
61
|
+
method: req.method,
|
|
62
|
+
path: req.url,
|
|
63
|
+
parameters: operation.encodedRequest ? WebAppRpcRequest.parseFromPath(operation) : await WebAppRpcRequest.parseFromBody(req),
|
|
64
|
+
caching: operation.encodedRequest ? RpcResponseCacheControl.Immutable : RpcResponseCacheControl.None,
|
|
65
|
+
};
|
|
66
|
+
request.ip = req.ip;
|
|
67
|
+
request.protocolVersion = 0;
|
|
68
|
+
if (protocol.protocolVersionHeaderName) {
|
|
69
|
+
const version = req.header(protocol.protocolVersionHeaderName);
|
|
70
|
+
if (version) {
|
|
71
|
+
request.protocolVersion = parseInt(version, 10);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (!request.id) {
|
|
75
|
+
throw new IModelError(BentleyStatus.ERROR, `Invalid request: Missing required activity ID.`);
|
|
76
|
+
}
|
|
77
|
+
return request;
|
|
78
|
+
}
|
|
79
|
+
/** Sends the response for a web request. */
|
|
80
|
+
static async sendResponse(protocol, request, fulfillment, req, res) {
|
|
81
|
+
var _a;
|
|
82
|
+
const versionHeader = protocol.protocolVersionHeaderName;
|
|
83
|
+
if (versionHeader && RpcProtocol.protocolVersion) {
|
|
84
|
+
res.set(versionHeader, RpcProtocol.protocolVersion.toString());
|
|
85
|
+
}
|
|
86
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
87
|
+
const { Readable, Stream } = await import(/* webpackIgnore: true */ "stream");
|
|
88
|
+
const { createGzip } = await import(/* webpackIgnore: true */ "zlib");
|
|
89
|
+
const transportType = WebAppRpcRequest.computeTransportType(fulfillment.result, fulfillment.rawResult);
|
|
90
|
+
let responseBody;
|
|
91
|
+
if (transportType === RpcContentType.Binary) {
|
|
92
|
+
responseBody = WebAppRpcRequest.configureBinary(fulfillment, res);
|
|
93
|
+
}
|
|
94
|
+
else if (transportType === RpcContentType.Multipart) {
|
|
95
|
+
responseBody = WebAppRpcRequest.configureMultipart(fulfillment, res);
|
|
96
|
+
}
|
|
97
|
+
else if (transportType === RpcContentType.Stream) {
|
|
98
|
+
responseBody = WebAppRpcRequest.configureStream(fulfillment);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
responseBody = WebAppRpcRequest.configureText(fulfillment, res);
|
|
102
|
+
}
|
|
103
|
+
WebAppRpcRequest.configureResponse(protocol, request, fulfillment, res);
|
|
104
|
+
res.status(fulfillment.status);
|
|
105
|
+
if (fulfillment.allowCompression && ((_a = req.header("Accept-Encoding")) === null || _a === void 0 ? void 0 : _a.includes("gzip"))) {
|
|
106
|
+
res.set("Content-Encoding", "gzip");
|
|
107
|
+
const readableResponseBody = (responseBody instanceof Stream) ? responseBody : Readable.from(responseBody);
|
|
108
|
+
responseBody = readableResponseBody.pipe(createGzip());
|
|
109
|
+
}
|
|
110
|
+
// This check should in theory look for instances of Readable, but that would break backend implementation at
|
|
111
|
+
// core/backend/src/RpcBackend.ts
|
|
112
|
+
if (responseBody instanceof Stream) {
|
|
113
|
+
responseBody.pipe(res);
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
res.send(responseBody);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
/** Determines the most efficient transport type for an RPC value. */
|
|
120
|
+
static computeTransportType(value, source) {
|
|
121
|
+
if (source instanceof Uint8Array || (Array.isArray(source) && source[0] instanceof Uint8Array)) {
|
|
122
|
+
return RpcContentType.Binary;
|
|
123
|
+
}
|
|
124
|
+
else if (value.data.length > 0) {
|
|
125
|
+
return RpcContentType.Multipart;
|
|
126
|
+
}
|
|
127
|
+
else if (value.stream) {
|
|
128
|
+
return RpcContentType.Stream;
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
return RpcContentType.Text;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/** Sets request header values. */
|
|
135
|
+
setHeader(name, value) {
|
|
136
|
+
this._headers[name] = value;
|
|
137
|
+
}
|
|
138
|
+
/** Sends the request. */
|
|
139
|
+
async send() {
|
|
140
|
+
this._loading = true;
|
|
141
|
+
await this.setupTransport();
|
|
142
|
+
return new Promise(async (resolve, reject) => {
|
|
143
|
+
try {
|
|
144
|
+
resolve(await this.performFetch());
|
|
145
|
+
}
|
|
146
|
+
catch (reason) {
|
|
147
|
+
reject(new ServerError(-1, typeof (reason) === "string" ? reason : "Server connection error."));
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
computeRetryAfter(attempts) {
|
|
152
|
+
const retryAfter = this._response && this._response.headers.get("Retry-After");
|
|
153
|
+
if (retryAfter) {
|
|
154
|
+
this.resetTransientFaultCount();
|
|
155
|
+
const r = Number(retryAfter);
|
|
156
|
+
if (Number.isFinite(r)) {
|
|
157
|
+
return r * 1000;
|
|
158
|
+
}
|
|
159
|
+
const d = Date.parse(retryAfter);
|
|
160
|
+
if (!Number.isNaN(d)) {
|
|
161
|
+
return d - Date.now();
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
this.recordTransientFault();
|
|
166
|
+
}
|
|
167
|
+
return super.computeRetryAfter(attempts);
|
|
168
|
+
}
|
|
169
|
+
handleUnknownResponse(code) {
|
|
170
|
+
if (this.protocol.isTimeout(code)) {
|
|
171
|
+
this.reject(new ServerTimeoutError("Request timeout."));
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
this.reject(new ServerError(code, "Unknown server response code."));
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
async load() {
|
|
178
|
+
return new Promise(async (resolve, reject) => {
|
|
179
|
+
try {
|
|
180
|
+
if (!this._loading)
|
|
181
|
+
return;
|
|
182
|
+
const response = this._response;
|
|
183
|
+
if (!response) {
|
|
184
|
+
reject(new IModelError(BentleyStatus.ERROR, "Invalid state."));
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
if (this.protocol.protocolVersionHeaderName) {
|
|
188
|
+
const version = response.headers.get(this.protocol.protocolVersionHeaderName);
|
|
189
|
+
if (version) {
|
|
190
|
+
this.responseProtocolVersion = parseInt(version, 10);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
const contentType = response.headers.get(WEB_RPC_CONSTANTS.CONTENT);
|
|
194
|
+
const responseType = WebAppRpcProtocol.computeContentType(contentType);
|
|
195
|
+
if (responseType === RpcContentType.Binary) {
|
|
196
|
+
resolve(await this.loadBinary(response));
|
|
197
|
+
}
|
|
198
|
+
else if (responseType === RpcContentType.Multipart) {
|
|
199
|
+
resolve(await this.loadMultipart(response, contentType));
|
|
200
|
+
}
|
|
201
|
+
else {
|
|
202
|
+
resolve(await this.loadText(response));
|
|
203
|
+
}
|
|
204
|
+
this._loading = false;
|
|
205
|
+
this.setLastUpdatedTime();
|
|
206
|
+
this.protocol.events.raiseEvent(RpcProtocolEvent.ResponseLoaded, this);
|
|
207
|
+
}
|
|
208
|
+
catch (reason) {
|
|
209
|
+
if (!this._loading)
|
|
210
|
+
return;
|
|
211
|
+
this._loading = false;
|
|
212
|
+
reject(new ServerError(this.metadata.status, typeof (reason) === "string" ? reason : "Unknown server response error."));
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
/** Override to supply an alternate fetch function. */
|
|
217
|
+
supplyFetch() {
|
|
218
|
+
return fetch;
|
|
219
|
+
}
|
|
220
|
+
/** Override to supply an alternate Request function. */
|
|
221
|
+
supplyRequest() {
|
|
222
|
+
return Request;
|
|
223
|
+
}
|
|
224
|
+
static configureResponse(protocol, request, fulfillment, res) {
|
|
225
|
+
const success = protocol.getStatus(fulfillment.status) === RpcRequestStatus.Resolved;
|
|
226
|
+
// TODO: Use stale-while-revalidate in cache headers. This needs to be tested, and does not currently have support in the router/caching-service.
|
|
227
|
+
// This will allow browsers to use stale cached responses while also revalidating with the router, allowing us to start up a backend if necessary.
|
|
228
|
+
// RPC Caching Service uses the s-maxage header to determine the TTL for the redis cache.
|
|
229
|
+
const oneHourInSeconds = 3600;
|
|
230
|
+
if (success && request.caching === RpcResponseCacheControl.Immutable) {
|
|
231
|
+
// If response size is > 50 MB, do not cache it.
|
|
232
|
+
if (fulfillment.result.objects.length > (50 * 10 ** 7)) {
|
|
233
|
+
res.set("Cache-Control", "no-store");
|
|
234
|
+
}
|
|
235
|
+
else if (request.operation.operationName === "generateTileContent") {
|
|
236
|
+
res.set("Cache-Control", "no-store");
|
|
237
|
+
}
|
|
238
|
+
else if (request.operation.operationName === "getConnectionProps") {
|
|
239
|
+
// GetConnectionprops can't be cached on the browser longer than the lifespan of the backend. The lifespan of backend may shrink too. Keep it at 1 second to be safe.
|
|
240
|
+
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 24}, max-age=1, immutable`);
|
|
241
|
+
}
|
|
242
|
+
else if (request.operation.operationName === "getTileCacheContainerUrl") {
|
|
243
|
+
// getTileCacheContainerUrl returns a SAS with an expiry of 23:59:59. We can't exceed that time when setting the max-age.
|
|
244
|
+
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 23}, max-age=${oneHourInSeconds * 23}, immutable`);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
res.set("Cache-Control", `s-maxage=${oneHourInSeconds * 24}, max-age=${oneHourInSeconds * 48}, immutable`);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
if (fulfillment.retry) {
|
|
251
|
+
res.set("Retry-After", fulfillment.retry);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
static configureText(fulfillment, res) {
|
|
255
|
+
res.set(WEB_RPC_CONSTANTS.CONTENT, WEB_RPC_CONSTANTS.TEXT);
|
|
256
|
+
return (fulfillment.status === 204) ? "" : fulfillment.result.objects;
|
|
257
|
+
}
|
|
258
|
+
static configureBinary(fulfillment, res) {
|
|
259
|
+
res.set(WEB_RPC_CONSTANTS.CONTENT, WEB_RPC_CONSTANTS.BINARY);
|
|
260
|
+
const data = fulfillment.result.data[0];
|
|
261
|
+
return Buffer.isBuffer(data) ? data : Buffer.from(data);
|
|
262
|
+
}
|
|
263
|
+
static configureMultipart(fulfillment, res) {
|
|
264
|
+
const response = RpcMultipart.createStream(fulfillment.result);
|
|
265
|
+
const headers = response.getHeaders();
|
|
266
|
+
for (const header in headers) {
|
|
267
|
+
if (headers.hasOwnProperty(header)) {
|
|
268
|
+
res.set(header, headers[header]);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return response;
|
|
272
|
+
}
|
|
273
|
+
static configureStream(fulfillment) {
|
|
274
|
+
return fulfillment.result.stream;
|
|
275
|
+
}
|
|
276
|
+
static parseFromPath(operation) {
|
|
277
|
+
const decoded = operation.encodedRequest ? Buffer.from(operation.encodedRequest, "base64").toString("binary") : "";
|
|
278
|
+
return RpcSerializedValue.create(decoded);
|
|
279
|
+
}
|
|
280
|
+
static async parseFromBody(req) {
|
|
281
|
+
const contentType = WebAppRpcProtocol.computeContentType(req.header(WEB_RPC_CONSTANTS.CONTENT));
|
|
282
|
+
if (contentType === RpcContentType.Binary) {
|
|
283
|
+
const objects = JSON.stringify([MarshalingBinaryMarker.createDefault()]);
|
|
284
|
+
const data = [req.body];
|
|
285
|
+
return RpcSerializedValue.create(objects, data);
|
|
286
|
+
}
|
|
287
|
+
else if (contentType === RpcContentType.Multipart) {
|
|
288
|
+
return RpcMultipart.parseRequest(req);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
return RpcSerializedValue.create(req.body);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
async performFetch() {
|
|
295
|
+
const requestClass = this.supplyRequest();
|
|
296
|
+
const fetchFunction = this.supplyFetch();
|
|
297
|
+
const path = new URL(this.path, typeof (location) !== "undefined" ? location.origin : undefined);
|
|
298
|
+
if (this._pathSuffix) {
|
|
299
|
+
const params = new URLSearchParams();
|
|
300
|
+
params.set("parameters", this._pathSuffix);
|
|
301
|
+
path.search = `?${params.toString()}`;
|
|
302
|
+
}
|
|
303
|
+
const request = new requestClass(path.toString(), this._request);
|
|
304
|
+
const response = await fetchFunction(request);
|
|
305
|
+
this._response = response;
|
|
306
|
+
this.metadata.status = response.status;
|
|
307
|
+
return response.status;
|
|
308
|
+
}
|
|
309
|
+
async loadText(response) {
|
|
310
|
+
const value = await response.text();
|
|
311
|
+
this.metadata.message = value;
|
|
312
|
+
return RpcSerializedValue.create(value);
|
|
313
|
+
}
|
|
314
|
+
async loadBinary(response) {
|
|
315
|
+
const value = new Uint8Array(await response.arrayBuffer());
|
|
316
|
+
const objects = JSON.stringify(MarshalingBinaryMarker.createDefault());
|
|
317
|
+
return RpcSerializedValue.create(objects, [value]);
|
|
318
|
+
}
|
|
319
|
+
async loadMultipart(response, contentType) {
|
|
320
|
+
const data = await response.arrayBuffer();
|
|
321
|
+
const value = new RpcMultipartParser(contentType, Buffer.from(data)).parse();
|
|
322
|
+
return value;
|
|
323
|
+
}
|
|
324
|
+
async setupTransport() {
|
|
325
|
+
const parameters = (await this.protocol.serialize(this)).parameters;
|
|
326
|
+
const transportType = WebAppRpcRequest.computeTransportType(parameters, this.parameters);
|
|
327
|
+
if (transportType === RpcContentType.Binary) {
|
|
328
|
+
this.setupBinaryTransport(parameters);
|
|
329
|
+
}
|
|
330
|
+
else if (transportType === RpcContentType.Multipart) {
|
|
331
|
+
this.setupMultipartTransport(parameters);
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
this.setupTextTransport(parameters);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
setupBinaryTransport(parameters) {
|
|
338
|
+
this._headers[WEB_RPC_CONSTANTS.CONTENT] = WEB_RPC_CONSTANTS.BINARY;
|
|
339
|
+
this._request.method = "post";
|
|
340
|
+
this._request.body = parameters.data[0];
|
|
341
|
+
}
|
|
342
|
+
setupMultipartTransport(parameters) {
|
|
343
|
+
// IMPORTANT: do not set a multipart Content-Type header value. The browser does this automatically!
|
|
344
|
+
delete this._headers[WEB_RPC_CONSTANTS.CONTENT];
|
|
345
|
+
this._request.method = "post";
|
|
346
|
+
this._request.body = RpcMultipart.createForm(parameters);
|
|
347
|
+
}
|
|
348
|
+
setupTextTransport(parameters) {
|
|
349
|
+
if (this.operation.policy.allowResponseCaching(this)) {
|
|
350
|
+
const encodedBody = btoa(parameters.objects); // eslint-disable-line deprecation/deprecation
|
|
351
|
+
if (encodedBody.length <= WebAppRpcRequest.maxUrlComponentSize) {
|
|
352
|
+
this._request.method = "get";
|
|
353
|
+
this._request.body = undefined;
|
|
354
|
+
delete this._headers[WEB_RPC_CONSTANTS.CONTENT];
|
|
355
|
+
this._pathSuffix = encodedBody;
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
this._pathSuffix = "";
|
|
360
|
+
this._headers[WEB_RPC_CONSTANTS.CONTENT] = WEB_RPC_CONSTANTS.TEXT;
|
|
361
|
+
this._request.method = "post";
|
|
362
|
+
this._request.body = parameters.objects;
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
/** The maximum size permitted for an encoded component in a URL.
|
|
366
|
+
* Note that some backends limit the total cumulative request size. Our current node backends accept requests with a max size of 16 kb.
|
|
367
|
+
* In addition to the url size, an authorization header may also add considerably to the request size.
|
|
368
|
+
* @note This is used for features like encoding the payload of a cacheable request in the URL.
|
|
369
|
+
*/
|
|
370
|
+
WebAppRpcRequest.maxUrlComponentSize = 1024 * 8;
|
|
371
371
|
//# sourceMappingURL=WebAppRpcRequest.js.map
|