Skip to content

Commit ca6e406

Browse files
Hussein NasserHussein Nasser
authored andcommitted
add all cpp
1 parent ad083ee commit ca6e406

File tree

8 files changed

+46
-21
lines changed

8 files changed

+46
-21
lines changed

.vscode/c_cpp_properties.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@
33
{
44
"name": "Mac",
55
"includePath": [
6-
"/Users/HusseinNasser/projects/node-course-content/28-nodecpp-addon/node_modules/**",
7-
"/Users/HusseinNasser/projects/node-course-content/28-nodecpp-addon/node_modules/node-addon-api",
8-
"/Users/HusseinNasser/projects/node-course-content/28-nodecpp-addon/node_modules/node-addon-api/include",
9-
"/Users/HusseinNasser/projects/node-course-content/28-nodecpp-addon/node_modules/node_modules/node-addon-api/napi.h",
6+
"/Users/HusseinNasser/projects/node-course-content/27-nodecpp-addon/node_modules/**",
7+
"/Users/HusseinNasser/projects/node-course-content/27-nodecpp-addon/node_modules/node-addon-api",
8+
"/Users/HusseinNasser/projects/node-course-content/27-nodecpp-addon/node_modules/node-addon-api/include",
9+
"/Users/HusseinNasser/projects/node-course-content/27-nodecpp-addon/node_modules/node_modules/node-addon-api/napi.h",
1010
"/usr/local/include/node", // Node.js headers (macOS/Linux)
1111
"/usr/include/node", // Alternative Node.js include path
1212
"C:/Program Files/nodejs/include/node" // Windows (if applicable)

.vscode/launch.json

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
2+
{
3+
// Use IntelliSense to learn about possible attributes.
4+
// Hover to view descriptions of existing attributes.
5+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
6+
"version": "0.2.0",
7+
"configurations": [
8+
{
9+
"name": "Debug Node.js Addon",
10+
"type": "cppdbg",
11+
"request": "launch",
12+
"program": "/usr/local/bin/node",
13+
"args": ["/Users/HusseinNasser/projects/node-course-content/27-nodecpp-addon/index.js"],
14+
"stopAtEntry": false,
15+
"cwd": "${workspaceFolder}",
16+
"externalConsole": false,
17+
"MIMode": "lldb", // Use "gdb" for Linux
18+
"setupCommands": [
19+
{ "text": "-enable-pretty-printing", "description": "Enable pretty printing", "ignoreFailures": true }
20+
]
21+
}
22+
]
23+
}

25-capturing-node-traffic/250-wireshark-raw-request.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
const http = require("node:http");
2-
const req = http.request("http://example.com", { "method": "GET"});
2+
const req = http.request("http://example.org", { "method": "GET"});
33

44
req.on("response", res => {
55
console.log(res.headers)

25-capturing-node-traffic/251-https-proxy.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ const HttpsProxyAgent = require('https-proxy-agent')
55
//spin mitmproxy -p 8888
66
//node will reject MITMproxy certificate
77
//so we can ignore it with this env variable (not recommended)
8-
// process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 1;
8+
//process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0;
99
//or add cert to the trust
1010
const proxy = new HttpsProxyAgent.HttpsProxyAgent('http://127.0.0.1:8888');
1111
//or take the PEM certificate and add it to node agent
12+
//certificate pinning
1213
const ca = fs.readFileSync ('/Users/HusseinNasser/Downloads/mitmproxy-ca-cert.pem')
13-
const req = http.request("https://example.com", { "method": "GET", "agent": proxy, "ca": ca});
14+
const req = http.request("https://example.com", { "method": "GET", "agent": proxy , "ca": ca});
1415
req.on("response", res => {
1516
console.log(res.headers)
1617
console.log(res.statusCode);

26-request-showdown/260-request-http.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ const myAgent = http.Agent({
55
});
66

77
const requestCount = 100;
8-
const stats = {"http": {"reqtime": 0, "reqmem": 0, "restime": 0, "reqmem": 0}}
8+
const stats = {"http": {"reqtime": 0, "reqmem": 0, "restime": 0, "resmem": 0}}
99
const startRequest = Date.now()
1010
//sending multiple requests
1111
console.time("http.request")
@@ -22,13 +22,13 @@ for (let i =0; i < requestCount; i++) {
2222
requests.push(sendRequest(url, {"agent": myAgent, "method": "GET"} ))
2323
}
2424

25-
console.log("submitted all requests");
25+
console.log("prepared all requests");
2626
console.timeEnd ("http.request")
2727
let endRSSAllRequests = process.memoryUsage().rss;
2828
let endRequest = Date.now()
2929
stats[Object.keys(stats)[0]].reqmem = (endRSSAllRequests - startRSS).toLocaleString()
3030
stats[Object.keys(stats)[0]].reqtime = endRequest - startRequest
31-
console.log (`Memory used after sending all requests ${endRequest - startRequest} bytes`)
31+
console.log (`Memory used after preparing all requests ${(endRSSAllRequests - startRSS).toLocaleString()} bytes`)
3232
let endRSSAllResponses;
3333
let endResponse;
3434
Promise.all(requests).then ( a=> {
@@ -46,10 +46,11 @@ function sendRequest(url, opt) {
4646
return new Promise( (resolve, reject) => {
4747
const req = http.request(url, opt,
4848
(res => {
49-
//set the encoding
5049
res.setEncoding('utf-8')
50+
//set the encoding
51+
5152
res.on("data", data => resolve(data))
52-
res.on("error", err=> reject(err))
53+
//res.on("error", err=> reject(err))
5354
}));
5455

5556
req.end();// must call it to actually send the request

26-request-showdown/261-fetch-http.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const myAgent = http.Agent({
66

77

88
const requestCount = 100;
9-
const stats = {"fetch": {"reqtime": 0, "reqmem": 0, "restime": 0, "reqmem": 0}}
9+
const stats = {"fetch": {"reqtime": 0, "reqmem": 0, "restime": 0, "resmem": 0}}
1010
const startRequest = Date.now()
1111
//sending multiple requests
1212
console.time("http.request")
@@ -23,13 +23,13 @@ for (let i =0; i < requestCount; i++) {
2323
requests.push(sendRequest(url, {"agent": myAgent, "method": "GET"} ))
2424
}
2525

26-
console.log("submitted all requests");
26+
console.log("prepared all requests");
2727
console.timeEnd ("http.request")
2828
let endRSSAllRequests = process.memoryUsage().rss;
2929
let endRequest = Date.now()
3030
stats[Object.keys(stats)[0]].reqmem = (endRSSAllRequests - startRSS).toLocaleString()
3131
stats[Object.keys(stats)[0]].reqtime = endRequest - startRequest
32-
console.log (`Memory used after sending all requests ${endRequest - startRequest} bytes`)
32+
console.log (`Memory used after preparing all requests ${endRequest - startRequest} bytes`)
3333
let endRSSAllResponses;
3434
let endResponse;
3535
Promise.all(requests).then ( a=> {

26-request-showdown/262-undici-http.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ const myAgent = new undici.Agent({
66

77

88
const requestCount = 100;
9-
const stats = {"undici": {"reqtime": 0, "reqmem": 0, "restime": 0, "reqmem": 0}}
9+
const stats = {"undici": {"reqtime": 0, "reqmem": 0, "restime": 0, "resmem": 0}}
1010
const startRequest = Date.now()
1111
//sending multiple requests
1212
console.time("http.request")
@@ -23,13 +23,13 @@ for (let i =0; i < requestCount; i++) {
2323
requests.push(sendRequest(url, {"dispatcher": myAgent, "method": "GET"} ))
2424
}
2525

26-
console.log("submitted all requests");
26+
console.log("prepared all requests");
2727
console.timeEnd ("http.request")
2828
let endRSSAllRequests = process.memoryUsage().rss;
2929
let endRequest = Date.now()
3030
stats[Object.keys(stats)[0]].reqmem = (endRSSAllRequests - startRSS).toLocaleString()
3131
stats[Object.keys(stats)[0]].reqtime = endRequest - startRequest
32-
console.log (`Memory used after sending all requests ${endRequest - startRequest} bytes`)
32+
console.log (`Memory used after preparing all requests ${endRequest - startRequest} bytes`)
3333
let endRSSAllResponses;
3434
let endResponse;
3535
Promise.all(requests).then ( a=> {

26-request-showdown/263-axios.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ const myAgent = new http.Agent({
77
});
88

99
const requestCount = 100;
10-
const stats = {"axios": {"reqtime": 0, "reqmem": 0, "restime": 0, "reqmem": 0}}
10+
const stats = {"axios": {"reqtime": 0, "reqmem": 0, "restime": 0, "resmem": 0}}
1111
const startRequest = Date.now()
1212
//sending multiple requests
1313
console.time("http.request")
@@ -24,13 +24,13 @@ for (let i =0; i < requestCount; i++) {
2424
requests.push(sendRequest(url, {"agent": myAgent, "method": "GET"} ))
2525
}
2626

27-
console.log("submitted all requests");
27+
console.log("prepared all requests");
2828
console.timeEnd ("http.request")
2929
let endRSSAllRequests = process.memoryUsage().rss;
3030
let endRequest = Date.now()
3131
stats[Object.keys(stats)[0]].reqmem = (endRSSAllRequests - startRSS).toLocaleString()
3232
stats[Object.keys(stats)[0]].reqtime = endRequest - startRequest
33-
console.log (`Memory used after sending all requests ${endRequest - startRequest} bytes`)
33+
console.log (`Memory used after preparing all requests ${endRequest - startRequest} bytes`)
3434
let endRSSAllResponses;
3535
let endResponse;
3636
Promise.all(requests).then ( a=> {

0 commit comments

Comments
 (0)