html2canvas-proxy-nodejs icon indicating copy to clipboard operation
html2canvas-proxy-nodejs copied to clipboard

Anyone have an idea how to use this with firebase functions?

Open iamgoodbytes opened this issue 7 years ago • 4 comments

We could run this, but I'm not sure we should be using the request and response object or not? Thanks for any pointers!

exports.helloWorld = functions.https.onRequest((request, response) => {
    // response.send("Hello from Firebase!");
    app.use('/', proxy());
});

iamgoodbytes avatar Nov 30 '18 11:11 iamgoodbytes

+1

urbantumbleweed avatar May 01 '19 19:05 urbantumbleweed

This is my starting point.

const express = require('express');
const functions = require('firebase-functions');

const app = express();
app.use('/', proxy());

export default functions.https.onRequest(app);

I don't seem to be hitting the endpoint from the application. I am using config that is something like:

{
      useCORS: true,
      allowTaint: true,
      ignoreClasses: get(request, 'imageGeneration.ignoreClasses', []),
      ignoreElements: (element) => {
        const toIgnore = get(request, 'imageGeneration.ignoreClasses', []);
        const elementClasses = element.classList;
        const shouldIgnore = intersection(toIgnore, elementClasses);
        switch (true) {
          case shouldIgnore.length > 0:
            return true;
          default:
            return false;
        }
      },
      backgroundColor: null,
      width: get(request, 'pdfOptions.pageWidth', DEFAULT_CANVAS_PAGE_WIDTH),
      height: get(request, 'pdfOptions.pageHeight', DEFAULT_CANVAS_PAGE_HEIGHT),
      scale: 4.1666, // result of 300 dpi/ 72 dpi
      onclone: null,
      logging: false, // can be switched fon for debugging
      removeContainer: true,
      proxy: 'firebase-endpint-url/html2canvasProxy',
    };

Does anyone have thoughts?

urbantumbleweed avatar May 01 '19 19:05 urbantumbleweed

This is my starting point.

const express = require('express');
const functions = require('firebase-functions');

const app = express();
app.use('/', proxy());

export default functions.https.onRequest(app);

I don't seem to be hitting the endpoint from the application. I am using config that is something like:

{
      useCORS: true,
      allowTaint: true,
      ignoreClasses: get(request, 'imageGeneration.ignoreClasses', []),
      ignoreElements: (element) => {
        const toIgnore = get(request, 'imageGeneration.ignoreClasses', []);
        const elementClasses = element.classList;
        const shouldIgnore = intersection(toIgnore, elementClasses);
        switch (true) {
          case shouldIgnore.length > 0:
            return true;
          default:
            return false;
        }
      },
      backgroundColor: null,
      width: get(request, 'pdfOptions.pageWidth', DEFAULT_CANVAS_PAGE_WIDTH),
      height: get(request, 'pdfOptions.pageHeight', DEFAULT_CANVAS_PAGE_HEIGHT),
      scale: 4.1666, // result of 300 dpi/ 72 dpi
      onclone: null,
      logging: false, // can be switched fon for debugging
      removeContainer: true,
      proxy: 'firebase-endpint-url/html2canvasProxy',
    };

Does anyone have thoughts?

Did you solve it though?

hanglooakshay avatar Apr 22 '21 00:04 hanglooakshay