Probe Resources Plus Webhook
Try for free
No credit card required
View all Actors
Probe Resources Plus Webhook
jancurn/probe-resources-plus-webhook
Try for free
No credit card required
Calls jancurn/probe-page-resources and then invokes a hard-coded webhook. The act takes same input as jancurn/probe-page-resources
Dockerfile
1# This is a template for a Dockerfile used to run acts in Actor system.
2# The base image name below is set during the act build, based on user settings.
3# IMPORTANT: The base image must set a correct working directory, such as /usr/src/app or /home/user
4FROM apify/actor-node-basic:v0.21.10
5
6# Second, copy just package.json and package-lock.json since it should be
7# the only file that affects "npm install" in the next step, to speed up the build
8COPY package*.json ./
9
10# Install NPM packages, skip optional and development dependencies to
11# keep the image small. Avoid logging too much and print the dependency
12# tree for debugging
13RUN npm --quiet set progress=false \
14 && npm install --only=prod --no-optional \
15 && echo "Installed NPM packages:" \
16 && (npm list --all || true) \
17 && echo "Node.js version:" \
18 && node --version \
19 && echo "NPM version:" \
20 && npm --version
21
22# Copy source code to container
23# Do this in the last step, to have fast build if only the source code changed
24COPY . ./
25
26# NOTE: The CMD is already defined by the base image.
27# Uncomment this for local node inspector debugging:
28# CMD [ "node", "--inspect=0.0.0.0:9229", "main.js" ]
package.json
1{
2 "name": "apify-project",
3 "version": "0.0.1",
4 "description": "",
5 "author": "It's not you it's me",
6 "license": "ISC",
7 "dependencies": {
8 "underscore": "latest",
9 "apify": "0.21.10",
10 "request-promise": "latest"
11 },
12 "scripts": {
13 "start": "node main.js"
14 }
15}
main.js
1const _ = require('underscore');
2const Apify = require('apify');
3const request = require('request-promise');
4
5Apify.main(async () => {
6 const input = await Apify.getValue('INPUT');
7 console.log('Calling jancurn/probe-page-resources with input:');
8 console.log(JSON.stringify(input, null, 2));
9
10 const run = await Apify.call('jancurn/probe-page-resources', input);
11
12 // console.log(JSON.stringify(run,null,2));
13 console.dir(run.output);
14 for (let rec of run.output) {
15 console.dir(rec);
16
17 // Test webhook, review the calls at http://mockbin.org/bin/b652e23e-5e5e-4904-8fc1-c55dcd7f6ee1/log
18 if (rec.url === 'https://www.example.com/') {
19 console.log('Testing webhook');
20
21 const options = {
22 method: 'POST',
23 uri: 'http://mockbin.org/bin/b652e23e-5e5e-4904-8fc1-c55dcd7f6ee1',
24 json: true,
25 body: {
26 "csp-report": {
27 "blocked-uri": "https://a.postrelease.com/serve/load.js",
28 "document-uri": "https://www.perf.webmd.com/allergies/default.htm",
29 "referrer": "",
30 "violated-directive": " apifier-rpt-networkerr",
31 "effective-directive": "apifier-rpt",
32 "original-policy": "",
33 "disposition": "apifier-rpt",
34 "status-code": "404/Failed/Blocked/etc – HTTP Status Code",
35 'mime-type': 'application/x-javascript',
36 'type': 'script',
37 'method' : 'GET',
38 "script-sample": "",
39 "source-file": "https://a.postrelease.com/serve/load.js"
40 }
41 }
42 };
43 await request(options);
44 }
45 }
46});
Developer
Maintained by Community
Actor metrics
- 1 monthly user
- 1 star
- Created in Sep 2017
- Modified over 2 years ago
Categories