@@ -307,6 +307,108 @@ channel.subscribe(onMessage);
307307channel .unsubscribe (onMessage);
308308```
309309
310+ ## Example
311+
312+ ``` mjs
313+ import http from ' node:http' ;
314+ import dc from ' node:diagnostics_channel' ;
315+
316+ const onClientRequestStart = dc .channel (' http.client.request.start' );
317+ const onClientResponseFinish = dc .channel (' http.client.response.finish' );
318+ const onServerRequestStart = dc .channel (' http.server.request.start' );
319+ const onServerResponseFinish = dc .channel (' http.server.response.finish' );
320+
321+ onClientRequestStart .subscribe (({ request }) => {
322+
323+ });
324+
325+ onClientResponseFinish .subscribe (({ request, response }) => {
326+
327+ });
328+
329+ onServerRequestStart .subscribe (({
330+ request,
331+ response,
332+ socket,
333+ server,
334+ }) => {
335+
336+ });
337+
338+ onServerResponseFinish .subscribe (({
339+ request,
340+ response,
341+ socket,
342+ server,
343+ }) => {
344+
345+ });
346+
347+ const server = http .createServer ((req , res ) => {
348+ res .end (' done' );
349+ });
350+
351+ server .listen (() => {
352+ const { port } = server .address ();
353+ http .get (` http://localhost:${ port} ` , (res ) => {
354+ res .resume ();
355+ res .on (' end' , () => {
356+ server .close ();
357+ });
358+ });
359+ });
360+ ```
361+
362+ ``` cjs
363+ const http = require (' http' );
364+ const dc = require (' diagnostics_channel' );
365+
366+ const onClientRequestStart = dc .channel (' http.client.request.start' );
367+ const onClientResponseFinish = dc .channel (' http.client.response.finish' );
368+ const onServerRequestStart = dc .channel (' http.server.request.start' );
369+ const onServerResponseFinish = dc .channel (' http.server.response.finish' );
370+
371+ onClientRequestStart .subscribe (({ request }) => {
372+
373+ });
374+
375+ onClientResponseFinish .subscribe (({ request, response }) => {
376+
377+ });
378+
379+ onServerRequestStart .subscribe (({
380+ request,
381+ response,
382+ socket,
383+ server,
384+ }) => {
385+
386+ });
387+
388+ onServerResponseFinish .subscribe (({
389+ request,
390+ response,
391+ socket,
392+ server,
393+ }) => {
394+
395+ });
396+
397+ const server = http .createServer ((req , res ) => {
398+ res .end (' done' );
399+ });
400+
401+ server .listen (() => {
402+ const { port } = server .address ();
403+ http .get (` http://localhost:${ port} ` , (res ) => {
404+ res .resume ();
405+ res .on (' end' , () => {
406+ server .close ();
407+ });
408+ });
409+ });
410+ ```
411+
310412[ `'uncaughtException'` ] : process.md#event-uncaughtexception
311413[ `channel.subscribe(onMessage)` ] : #channelsubscribeonmessage
312414[ `diagnostics_channel.channel(name)` ] : #diagnostics_channelchannelname
0 commit comments