basePath () { if ( ! this.url ) return null const purl = urlconv.parse( this.url ) let path if ( purl.hostname == wiki.baseParsed.hostname || purl.hostname == 'upload.wikimedia.org' ) { path = super.basePath() } else { const turl = urlconv.parse( '' ) turl.hostname = purl.hostname turl.pathname = purl.pathname const tpath = turl.format() path = sanitizeFN( decodeURIComponent( tpath )) } if ( osPath.extname( path ) == '' ) { path = path + '.' + mimeTypes.extension( this.mimeType ) } return path }
// format URL of request _formatURL() { let urlObject = url.parse(this.Endpoint) let responseGroup = this._responseGroup() // define query let query = { Version, Service, Operation: this.Operation, AWSAccessKeyId: this.AccessKeyId, AssociateTag: this.AssociateTag } if (responseGroup.length > 0) { query.ResponseGroup = responseGroup.join(",") } // set timestamp, backup and delete old objects query = this._addTimestamp(query) query = this._assignParameter(query) // sign urlObject urlObject.query = this._signURL(urlObject, query) // set finalURL this.finalURL = urlObject.format() }