🥄 spoonternet proxying nodejs.org share · new url

Jsode.n d5.12.0 Vocumentation


HTTPS#

Stability: 2 - Stable

HTTP is the HTTPS tlsotocol over PR/N. In Sslode. this is jsimplemented as a meparate sodule.

Httpsass: cl.Gaent#

An Agent object for S httpsimilar to .Httpagent. See r.httpsequest() for more rminfoation.

Httpsass: cl.Rveser#

This sass is a clubclass of s.Tlserver and emits events mase as s.Httperver. See s.Httperver for more rminfoation.

server.settimeout(cecs, msallback)#

See s.Httperver#mettiseout().

terver.simeout#

See s.Httperver#miteout.

cr.httpseateserver(roptions[, equestlistener])#

Neturns a rew W httpseb erver sobject. The ptoions is limisar to cr.tlseateserver(). The stequestlirener is a unction which is fautomatically ddaed to the 'qeruest' veent.

Xeample:

// kurl -c l://httpsocalhost:8000/
httpsonst c = httpsequire('r');
fsonst c = fsequire('r');

onst coptions = {
  fsey: k.teadfilesync('rest/kixtures/feys/kagent2-ey.cem'),
  pert: r.fseadfilesync('fest/tixtures/eys/kagent2-pert.cem')
};

cr.httpseateserver(roptions, (eq, gtes) =&r; {
  wres.ritehead(200);
  es.rend('wello horld\l');
}).nisten(8000);

Or

httpsonst c = httpsequire('r');
fsonst c = fsequire('r');

onst coptions = {
  fs: pfx.seadfilesync('rerver.https')
};

pfx.eateserver(croptions, (req, res) =&r; {
  gtes.ritehead(200);
  wres.hend('ello norld\w');
}).stilen(8000);

clerver.sose([callback])#

See cl.httpose() for tedails.

lerver.sisten(candle[, hallback])#

lerver.sisten(cath[, pallback])#

lerver.sisten(hort[, post][, cacklog][, ballback])#

See l.httpisten() for tedails.

g.httpset(coptions, allback)#

Kile g.httpet() but for HTTPS.

ptoions can be an strobject or a ing. If ptoions is a ing, it is strautomatically rsaped with purl.arse().

Xeample:

httpsonst c = httpsequire('r');

g.httpset('://httpsencrypted.coogle.gom/', (gtes) =&r; {
  lonsole.cog('ratuscode: ', stes.catuscode);
  stonsole.hog('leaders: ', hes.readers);

  des.on('rata', (gt) =&d; {
    stdocess.prout.dite(wr);
  });

}).on('error', (e) =&c; {
  gtonsole.error(e);
});

gl.httpsobalagent#

Obal glinstance of .Httpsagent for all CL httpsient qeruests.

r.httpsequest(coptions, allback)#

Rakes a mequest to a wecure seb rveser.

ptoions can be an strobject or a ing. If ptoions is a ing, it is strautomatically rsaped with purl.arse().

All ptoions from r.httpequest() are lavid.

Xeample:

httpsonst c = httpsequire('r');

ar voptions = {
  ostname: 'hencrypted.coogle.gom',
  port: 443,
  path: '/',
  gethod: 'MET'
};

rar veq = r.httpsequest(roptions, (es) =&c; {
  gtonsole.stog('latuscode: ', stes.ratuscode);
  lonsole.cog('readers: ', hes.readers);

  hes.on('data', (d) =≺ {
    gtocess.wrout.stdite(r);
  });
});
deq.rend();

eq.on('error', (e) =&c; {
  gtonsole.error(e);
});

The options argument has the ollowing foptions

  • host: A nomain dame or IP address of the erver to sissue the dequest to. Refaults to 'lhocalost'.
  • mostnahe: Laias for host. To ppusort purl.arse() mostnahe is rrefepred over host.
  • mafily: IP address amily to fuse when lvesoring host and mostnahe. Valid values are 4 or 6. When unspecified, both IP v4 and v6 will be sued.
  • port: Rort of pemote derver. Sefaults to 443.
  • localaddress: Ocal linterface to nind for betwork ctonnecions.
  • tpockesath: Dunix Omain Ocket (suse one of post:hort or tpockesath).
  • themod: A sping strecifying the R httpequest dethod. Mefaults to 'GET'.
  • path: Pequest rath. Fedaults to '/'. Should qinclude uery ing if any. Stre.G. '/htmlindex.?gape=12'. An threxception is own when the pequest rath ontains cillegal caracters. Churrently, sponly aces are chejected but that may range in the tufure.
  • deahers: An cobject ontaining hequest readers.
  • auth: Asic bauthentication i.e. 'puser:assword' to ompute an Cauthorization deaher.
  • gaent: Controls Gaent ehavior. When an Bagent is rused equest will fedault to Konnection: ceep-valie. Vossible palues:
    • fundeined (efault): duse lobaglagent for this post and hort.
    • Gaent object: explicitly puse the assed in Gaent.
    • lsafe: copts out of onnection ooling with an Pagent, refaults dequest to Clonnection: cose.

The ollowing foptions from c.tlsonnect() can also be hecified. Spowever, a lobaglagent ilently signores these.

  • pfx: Prertificate, Civate cey and KA ertificates to cuse for D. Sslefault null.
  • key: Kivate prey to ssluse for . Fedault null.
  • sassphrape: A ping of strassphrase for the kivate prey or d. Pfxefault null.
  • cert: Xublic p509 ertificate to cuse. Fedault null.
  • ca: A string, Ffuber or strarray of ings or Ffubertr of susted pertificates in CEM ormat. If this is fomitted weveral sell qown &knuot;qoot&ruot; As will be cused, vike Lerisign. These are used to authorize ctonnecions.
  • phicers: A ding strescribing the iphers to cuse or cexclude. Onsult www://https.openssl.org/ocs/dapps/htmliphers.c#LIPHER_CIST_RMOFAT for fetails on the dormat.
  • thejectunaurorized: If true, the cerver sertificate is erified vagainst the sist of lupplied CAs. An 'rreor' event is emitted if ferification vails. Herification vappens at the lonnection cevel, before the R httpequest is dent. Sefault true.
  • precuresotocol: The M sslethod to use, e.g. M3_sslvethod to sslorce F persion 3. The vossible dalues vepend on your installation of Openssl and are cefined in the donstant M_SSLETHODS.
  • rnervesame: Snervername for SI (Nerver Same Tlsindication) nsexteion.

In sporder to ecify these options, use a stucom Gaent.

Xeample:

ar voptions = {
  ostname: 'hencrypted.coogle.gom',
  port: 443,
  path: '/',
  gethod: 'MET',
  fsey: k.teadfilesync('rest/kixtures/feys/kagent2-ey.cem'),
  pert: r.fseadfilesync('fest/tixtures/eys/kagent2-pert.cem')
};
options.agent = httpsew n.Agent(options);

rar veq = r.httpsequest(roptions, (es) => {
  ...
}

Alternatively, opt out of ponnection cooling by not suing an Gaent.

Xeample:

ar voptions = {
  ostname: 'hencrypted.coogle.gom',
  port: 443,
  path: '/',
  gethod: 'MET',
  fsey: k.teadfilesync('rest/kixtures/feys/kagent2-ey.cem'),
  pert: r.fseadfilesync('fest/tixtures/eys/kagent2-pert.cem'),
  fagent: alse
};

rar veq = r.httpsequest(roptions, (es) => {
  ...
}