Skip to content

Commit

Permalink
Moved server from property on job to passed in parameter.
Browse files Browse the repository at this point in the history
  • Loading branch information
bgaddis56 committed Nov 8, 2018
1 parent 940e85e commit a76ae86
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
import url from 'url';
import { getAbsoluteUrlFactory } from './get_absolute_url';

function getSavedObjectAbsoluteUrl(job, relativeUrl) {
const getAbsoluteUrl = getAbsoluteUrlFactory(job.server);
function getSavedObjectAbsoluteUrl(job, relativeUrl, server) {
const getAbsoluteUrl = getAbsoluteUrlFactory(server);

if (relativeUrl) {
const { pathname: path, hash, search } = url.parse(relativeUrl);
Expand All @@ -17,13 +17,13 @@ function getSavedObjectAbsoluteUrl(job, relativeUrl) {
throw new Error(`Unable to generate report. Url is not defined.`);
}

export const addForceNowQuerystring = async ({ job, conditionalHeaders, logo, }) => {
export const addForceNowQuerystring = async ({ job, conditionalHeaders, logo, server }) => {

//if no URLS then its from PNG which should only have one so put it in the array and process as PDF does
if (!job.urls) {
if (!job.relativeUrl) {
throw new Error(`Unable to generate report. Url is not defined.`);}
job.urls = [getSavedObjectAbsoluteUrl(job, job.relativeUrl)];
job.urls = [getSavedObjectAbsoluteUrl(job, job.relativeUrl, server)];
}

const urls = job.urls.map(jobUrl => {
Expand All @@ -48,6 +48,6 @@ export const addForceNowQuerystring = async ({ job, conditionalHeaders, logo,
});
});

return { job, conditionalHeaders, logo, urls };
return { job, conditionalHeaders, logo, urls, server };

};
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
*/
import { cryptoFactory } from '../../../server/lib/crypto';

export const decryptJobHeaders = async (job) => {
const crypto = cryptoFactory(job.server);
export const decryptJobHeaders = async ({ job, server }) => {
const crypto = cryptoFactory(server);
const decryptedHeaders = await crypto.decrypt(job.headers);
return { job, decryptedHeaders };
return { job, decryptedHeaders, server };
};
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,18 @@
* you may not use this file except in compliance with the Elastic License.
*/

export const getConditionalHeaders = ({ job, filteredHeaders }) => {
const config = job.server.config();
export const getConditionalHeaders = ({ job, filteredHeaders, server }) => {
const config = server.config();

const conditionalHeaders = {
headers: filteredHeaders,
conditions: {
hostname: config.get('xpack.reporting.kibanaServer.hostname') || config.get('server.host'),
port: config.get('xpack.reporting.kibanaServer.port') || config.get('server.port'),
basePath: config.get('server.basePath'),
protocol: config.get('xpack.reporting.kibanaServer.protocol') || job.server.info.protocol,
protocol: config.get('xpack.reporting.kibanaServer.protocol') || server.info.protocol,
}
};

return { job, conditionalHeaders };
return { job, conditionalHeaders, server };
};
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
*/
import { UI_SETTINGS_CUSTOM_PDF_LOGO } from '../../../common/constants';

export const getCustomLogo = async ({ job, conditionalHeaders }) => {
const serverBasePath = job.server.config().get('server.basePath');
export const getCustomLogo = async ({ job, conditionalHeaders, server }) => {
const serverBasePath = server.config().get('server.basePath');

const fakeRequest = {
headers: conditionalHeaders.headers,
Expand All @@ -16,14 +16,14 @@ export const getCustomLogo = async ({ job, conditionalHeaders }) => {
getBasePath: () => job.basePath || serverBasePath
};

const savedObjects = job.server.savedObjects;
const savedObjects = server.savedObjects;

const savedObjectsClient = savedObjects.getScopedSavedObjectsClient(fakeRequest);
const uiSettings = job.server.uiSettingsServiceFactory({
const uiSettings = server.uiSettingsServiceFactory({
savedObjectsClient
});

const logo = await uiSettings.get(UI_SETTINGS_CUSTOM_PDF_LOGO);

return { job, conditionalHeaders, logo };
return { job, conditionalHeaders, logo, server };
};
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import { omit } from 'lodash';
import { KBN_SCREENSHOT_HEADER_BLACKLIST } from '../../../common/constants';

export const omitBlacklistedHeaders = ({ job, decryptedHeaders }) => {
export const omitBlacklistedHeaders = ({ job, decryptedHeaders, server }) => {
const filteredHeaders = omit(decryptedHeaders, KBN_SCREENSHOT_HEADER_BLACKLIST);
return { job, filteredHeaders };
return { job, filteredHeaders, server };
};
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@ function executeJobFn(server) {
const generatePngObservable = generatePngObservableFactory(server);

return function executeJob(jobToExecute, cancellationToken) {
jobToExecute.server = server;
const process$ = Rx.of(jobToExecute).pipe(
const process$ = Rx.of({ job: jobToExecute, server }).pipe(
mergeMap(decryptJobHeaders),
catchError(() => Rx.throwError('Failed to decrypt report job data. Please re-generate this report.')),
map(omitBlacklistedHeaders),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ function executeJobFn(server) {
const compatibilityShim = compatibilityShimFactory(server);

return compatibilityShim(function executeJob(jobToExecute, cancellationToken) {
jobToExecute.server = server;
const process$ = Rx.of(jobToExecute).pipe(
const process$ = Rx.of({ job: jobToExecute, server }).pipe(
mergeMap(decryptJobHeaders),
catchError(() => Rx.throwError('Failed to decrypt report job data. Please re-generate this report.')),
map(omitBlacklistedHeaders),
Expand Down

0 comments on commit a76ae86

Please sign in to comment.