Skip to main content

Class: AWSClientPlugin

Extra-Helpers.AWSClientPlugin

AWSClientPlugin Provides fetch function that performs a fetch request with AWS v4 signing. This is useful for connecting to AWS services like S3 directly from the client. It also interfaces with the FileTransferPlugin to directly upload file when exported with the viewer or the plugin. Note: Make sure to use keys with limited privileges and correct CORS settings. All the keys will be stored in plain text in the vjson/glb when saved if serializeSettings is set to true

Hierarchy​

Properties​

PluginType​

▪ Static Readonly PluginType: "AWSClientPlugin1"


USE_PROXY​

▪ Static USE_PROXY: boolean = false

Set to true to use a proxy for all requests. This can be used to move the access credentials to the server side. This is required for some services like cloudflare R2 that do not support CORS. usage: AWSClientPlugin.USE_PROXY = true, optionally set AWSClientPlugin.PROXY_URL to a custom proxy.


PROXY_URL​

▪ Static PROXY_URL: string = 'https://r2-s3-api.repalash.com/{path}'


uiConfig​

• Optional uiConfig: UiObjectConfig<any, string>


enabled​

• enabled: boolean = true

Overrides​

AViewerPlugin.enabled


dependencies​

• dependencies: typeof FileTransferPlugin[]


accessKeyId​

• accessKeyId: string = ''


accessKeySecret​

• accessKeySecret: string = ''


endpointURL​

• endpointURL: string = ''


pathPrefix​

• pathPrefix: string = 'webgi'


serializeSettings​

• serializeSettings: boolean = false


serializeWithViewer​

• Readonly serializeWithViewer: false


fetchFunction​

• fetchFunction: (input: RequestInfo, init?: RequestInit) => Promise<Response> = fetch

Type declaration​

▸ (input, init?): Promise<Response>

Parameters​
NameType
inputRequestInfo
init?RequestInit
Returns​

Promise<Response>


_dirty​

• Protected _dirty: boolean = false

Inherited from​

AViewerPlugin._dirty


_viewer​

• Protected Optional _viewer: ViewerApp

Inherited from​

AViewerPlugin._viewer

Accessors​

dirty​

• get dirty(): boolean

Returns​

boolean

Inherited from​

AViewerPlugin.dirty

• set dirty(value): void

Parameters​

NameType
valueboolean

Returns​

void

Inherited from​

AViewerPlugin.dirty


viewer​

• get viewer(): undefined | ViewerApp

Returns​

undefined | ViewerApp

Inherited from​

AViewerPlugin.viewer


connected​

• get connected(): boolean

Returns​

boolean


client​

• get client(): undefined | AwsClient

Returns​

undefined | AwsClient

Methods​

onDispose​

▸ onDispose(viewer): Promise<void>

Parameters​

NameType
viewerViewerApp

Returns​

Promise<void>

Inherited from​

AViewerPlugin.onDispose


onRemove​

▸ onRemove(viewer): Promise<void>

Parameters​

NameType
viewerViewerApp

Returns​

Promise<void>

Inherited from​

AViewerPlugin.onRemove


fromJSON​

▸ fromJSON(data, meta?): null | AWSClientPlugin | Promise<null | AWSClientPlugin>

Parameters​

NameType
dataany
meta?any

Returns​

null | AWSClientPlugin | Promise<null | AWSClientPlugin>

Inherited from​

AViewerPlugin.fromJSON


exportState​

▸ exportState(): any

Returns​

any

Inherited from​

AViewerPlugin.exportState


importState​

▸ importState(state): Promise<void>

Parameters​

NameType
stateany

Returns​

Promise<void>

Inherited from​

AViewerPlugin.importState


storeState​

▸ storeState(prefix?, storage?, data?): void

Parameters​

NameType
prefix?string
storage?Storage
data?any

Returns​

void

Inherited from​

AViewerPlugin.storeState


loadState​

▸ loadState(prefix?, storage?): Promise<void>

Parameters​

NameType
prefix?string
storage?Storage

Returns​

Promise<void>

Inherited from​

AViewerPlugin.loadState


toggleConnection​

▸ toggleConnection(): void

Returns​

void


connect​

▸ connect(): void

Returns​

void


refreshUi​

▸ refreshUi(): void

Returns​

void


disconnect​

▸ disconnect(): void

Returns​

void


toJSON​

▸ toJSON(meta?): any

Parameters​

NameType
meta?any

Returns​

any

Overrides​

AViewerPlugin.toJSON


onAdded​

▸ onAdded(viewer): Promise<void>

Parameters​

NameType
viewerViewerApp

Returns​

Promise<void>

Overrides​

AViewerPlugin.onAdded


fetch​

▸ fetch(input, init, onProgress?): Promise<Response>

Parameters​

NameType
inputRequestInfo
initRequestInit
onProgress?(d: { state?: string ; progress?: number }) => void

Returns​

Promise<Response>


_storeKey​

▸ Protected _storeKey(prefix?): string

Parameters​

NameType
prefix?string

Returns​

string

Inherited from​

AViewerPlugin._storeKey

Constructors​

constructor​

• new AWSClientPlugin()

Overrides​

AViewerPlugin.constructor