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