Skip to content

Commit

Permalink
fix(core.gbapp): FIX SSR errors and setOption impersonated.
Browse files Browse the repository at this point in the history
  • Loading branch information
rodrigorodriguez committed Jul 28, 2023
1 parent 979687f commit a585cf5
Showing 1 changed file with 15 additions and 18 deletions.
33 changes: 15 additions & 18 deletions packages/core.gbapp/services/GBSSR.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,11 +125,10 @@ export class GBSSR {
};
}


public static async createBrowser(profilePath): Promise<any> {
const opts = this.preparePuppeteer(profilePath);
puppeteer.use(hidden());
puppeteer.use(require("puppeteer-extra-plugin-minmax")());
puppeteer.use(require('puppeteer-extra-plugin-minmax')());
const browser = await puppeteer.launch(opts);
return browser;
}
Expand Down Expand Up @@ -284,26 +283,27 @@ export class GBSSR {
// Tries to find botId from URL.

const minBoot = GBServer.globals.minBoot;
let botId =
req.originalUrl && req.originalUrl === '/' ?
minBoot.botId :
/\/([A-Za-z0-9\-\_]+)\/*/.exec(req.originalUrl)[1]

const onlyChars = /\/([A-Za-z0-9\-\_]+)\/*/.exec(req.originalUrl);

let botId = (req.originalUrl && req.originalUrl === '/') || onlyChars.length === 0 ? minBoot.botId : onlyChars[1];

let min: GBMinInstance =
req.url === '/'
? minBoot
: GBServer.globals.minInstances.filter(p => p.instance.botId.toLowerCase() === botId.toLowerCase())[0];
if (!min) {
min = req.url === '/'
? minBoot
: GBServer.globals.minInstances.filter(p =>
p.instance.activationCode ? p.instance.activationCode.toLowerCase() === botId.toLowerCase()
: null)[0];
min =
req.url === '/'
? minBoot
: GBServer.globals.minInstances.filter(p =>
p.instance.activationCode ? p.instance.activationCode.toLowerCase() === botId.toLowerCase() : null
)[0];
}
if (!min) {
botId = minBoot.botId;
}


let path = DialogKeywords.getGBAIPath(botId, `gbui`);

// Checks if the bot has an .gbui published or use default.gbui.
Expand All @@ -315,15 +315,13 @@ export class GBSSR {
let url = parts[0];

if (min && req.originalUrl && prerender && exclude) {

// Reads from static HTML when a bot is crawling.

path = Path.join(process.env.PWD, 'work', path, 'index.html');
const html = Fs.readFileSync(path, 'utf8');
res.status(200).send(html);
return true;
} else {

// Servers default.gbui web application.

path = Path.join(
Expand All @@ -334,18 +332,17 @@ export class GBSSR {
url === '/' || url === '' ? `index.html` : url
);
if (GBServer.globals.wwwroot && url === '/') {
path = GBServer.globals.wwwroot + "/index.html"; // TODO.
path = GBServer.globals.wwwroot + '/index.html'; // TODO.
}
if (!min && !url.startsWith("/static") && GBServer.globals.wwwroot) {
if (!min && !url.startsWith('/static') && GBServer.globals.wwwroot) {
path = Path.join(GBServer.globals.wwwroot, url);
}
if (Fs.existsSync(path)) {
if (min) {
let html = Fs.readFileSync(path, 'utf8');
html = html.replace(/\{p\}/gi, min.botId);
html = html.replace(/\{theme\}/gi, min.instance.theme ? min.instance.theme : 'default.gbtheme');
html = html.replace(/\{botId\}/gi, min.botId);
html = html.replace(/\{theme\}/gi, min.instance.theme ? min.instance.theme :
'default.gbtheme');
html = html.replace(/\{title\}/gi, min.instance.title);
res.send(html).end();
} else {
Expand Down

0 comments on commit a585cf5

Please sign in to comment.