Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
};
const fetchContent = this.fetchContent.bind(this);
const defaultBody = { content, rawContent, rawResponse };
if (cdpResponse.response.status !== 200) {
// TODO: is this right? no-friendly-error-pages won't have a problem?
return defaultBody;
}
try {
await this.waitForContentLoaded(cdpResponse.requestId);
const { body, base64Encoded } = await this._client.Network.getResponseBody({ requestId: cdpResponse.requestId });
const encoding = base64Encoded ? 'base64' : 'utf-8';
content = base64Encoded ? atob(body) : body; // There are some JS responses that are base64Encoded for some weird reason
rawContent = Buffer.from(body, encoding);
const returnValue = {
content,
rawContent,
rawResponse(): Promise {
const self = (this as { _rawResponse: Promise });
if (self) {
const cached = self._rawResponse;
if (cached) {
return Promise.resolve(cached);
}
}
const normalizedHeaders = normalizeHeaders(headers);
const that = this;
let rawContent = Buffer.alloc(0);
let rBody = {
content: '',
rawContent,
rawResponse: () => {
return Promise.resolve(Buffer.alloc(0));
}
};
if (this._responseBody) {
const { body, base64Encoded } = this._responseBody;
const encoding = base64Encoded ? 'base64' : 'utf-8';
const content = base64Encoded ? atob(body) : body; // There are some JS responses that are base64 encoded for some reason
rawContent = Buffer.from(body, encoding);
rBody = {
content,
rawContent,
rawResponse: () => {
return that.getRawResponse();
}
};
}
this._response = {
body: rBody,
charset: null!,
headers: normalizedHeaders!,
} else if (existingMessage) {
return prev;
}
// Add the new message to the data
return Object.assign({}, prev, {
...prev,
directMessageThread: {
...prev.directMessageThread,
messageConnection: {
...prev.directMessageThread.messageConnection,
edges: [
...prev.directMessageThread.messageConnection.edges,
{
node: newMessage,
cursor: btoa(newMessage.id),
__typename: 'DirectMessageEdge',
},
],
},
},
});
},
});
function getRequestParams(argv) {
// use `--host=https://somedomain.com:5601` or else http://localhost:5601 is defaulted
const host = argv.host || 'http://localhost:5601';
// use `--auth=myuser:mypassword` or else elastic:changeme is defaulted
// passing `--auth` with no value effectively sends no auth
const auth = argv.auth || 'elastic:changeme';
const authStr = abab.btoa(auth);
// auto-add a leading slash to basePath
const basePath = argv.basePath ? '/' + argv.basePath : '';
return {
host,
auth: `Basic ${authStr}`,
basePath,
};
}
const b64toBlob = (b64Data: string, sliceSize = 512) => {
let byteString;
let contentType = '';
if (b64Data.split(',')[0].indexOf('base64') >= 0) {
byteString = b64Data.split(',')[1];
}
if (byteString !== undefined) {
contentType = b64Data.split(',')[0].split(':')[1].split(';')[0];
b64Data = decodeURI(byteString);
}
const byteCharacters = atob(b64Data);
const byteArrays: any[] = [];
for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
const slice = byteCharacters.slice(offset, offset + sliceSize);
const byteNumbers = new Array(slice.length);
for (let i = 0; i < slice.length; i += 1) {
byteNumbers[i] = slice.charCodeAt(i);
}
const byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
const blob = new Blob(byteArrays, { type: contentType });
return blob;
};
exports.forgivingBase64Decode = data => {
const asString = atob(data);
if (asString === null) {
return null;
}
return Buffer.from(asString, "binary");
};
isBase64Encoded(obj){
try{
return obj && (btoa(atob(obj)) === obj);
}catch(e){
return false;
}
}
};
exports.forgivingBase64Decode = data => {
const asString = atob(data);
if (asString === null) {
return null;
}
return Buffer.from(asString, "binary");
};
this.atob = function (str) {
const result = atob(str);
if (result === null) {
throw new DOMException("The string to be decoded contains invalid characters.", "InvalidCharacterError");
}
return result;
};
this.atob = function (str) {
const result = atob(str);
if (result === null) {
throw new DOMException("The string to be decoded contains invalid characters.", "InvalidCharacterError");
}
return result;
};