369 Matching Annotations
  1. Last 7 days
    1. permit streams to be transferred between workers, frames and anywhere else that postMessage() can be used. Chunks can be anything which is cloneable by postMessage(). Initially chunks enqueued in such a stream will always be cloned, ie. all data will be copied. Future work will extend the Streams APIs to support transferring objects (ie. zero copy).

      js const rs = new ReadableStream({ start(controller) { controller.enqueue('hello'); } }); const w = new Worker('worker.js'); w.postMessage(rs, [rs]);

      js onmessage = async (evt) => { const rs = evt.data; const reader = rs.getReader(); const {value, done} = await reader.read(); console.log(value); // logs 'hello'. };

  2. Sep 2023
  3. Aug 2023
  4. Jul 2023
    1. html <meta http-equiv="Accept-CH" content="DPR, Viewport-Width, Width"> ... <picture> <!-- serve WebP to Chrome and Opera --> <source media="(min-width: 50em)" sizes="50vw" srcset="/image/thing-200.webp 200w, /image/thing-400.webp 400w, /image/thing-800.webp 800w, /image/thing-1200.webp 1200w, /image/thing-1600.webp 1600w, /image/thing-2000.webp 2000w" type="image/webp"> <source sizes="(min-width: 30em) 100vw" srcset="/image/thing-crop-200.webp 200w, /image/thing-crop-400.webp 400w, /image/thing-crop-800.webp 800w, /image/thing-crop-1200.webp 1200w, /image/thing-crop-1600.webp 1600w, /image/thing-crop-2000.webp 2000w" type="image/webp"> <!-- serve JPEGXR to Edge --> <source media="(min-width: 50em)" sizes="50vw" srcset="/image/thing-200.jpgxr 200w, /image/thing-400.jpgxr 400w, /image/thing-800.jpgxr 800w, /image/thing-1200.jpgxr 1200w, /image/thing-1600.jpgxr 1600w, /image/thing-2000.jpgxr 2000w" type="image/vnd.ms-photo"> <source sizes="(min-width: 30em) 100vw" srcset="/image/thing-crop-200.jpgxr 200w, /image/thing-crop-400.jpgxr 400w, /image/thing-crop-800.jpgxr 800w, /image/thing-crop-1200.jpgxr 1200w, /image/thing-crop-1600.jpgxr 1600w, /image/thing-crop-2000.jpgxr 2000w" type="image/vnd.ms-photo"> <!-- serve JPEG to others --> <source media="(min-width: 50em)" sizes="50vw" srcset="/image/thing-200.jpg 200w, /image/thing-400.jpg 400w, /image/thing-800.jpg 800w, /image/thing-1200.jpg 1200w, /image/thing-1600.jpg 1600w, /image/thing-2000.jpg 2000w"> <source sizes="(min-width: 30em) 100vw" srcset="/image/thing-crop-200.jpg 200w, /image/thing-crop-400.jpg 400w, /image/thing-crop-800.jpg 800w, /image/thing-crop-1200.jpg 1200w, /image/thing-crop-1600.jpg 1600w, /image/thing-crop-2000.jpg 2000w"> <!-- fallback for browsers that don't support picture --> <img src="/image/thing.jpg" width="50%"> </picture>

  5. Jun 2023
    1. Platform engineering is trying to deliver the self-service tools teams want to consume to rapidly deploy all components of software. While it may sound like a TypeScript developer would feel more empowered by writing their infrastructure in TypeScript, the reality is that it’s a significant undertaking to learn to use these tools properly when all one wants to do is create or modify a few resources for their project. This is also a common source of technical debt and fragility. Most users will probably learn the minimal amount they need to in order to make progress in their project, and oftentimes this may not be the best solution for the longevity of a codebase. These tools are straddling an awkward line that is optimized for no-one. Traditional DevOps are not software engineers and software engineers are not DevOps. By making infrastructure a software engineering problem, it puts all parties in an unfamiliar position. I am not saying no-one is capable of using these tools well. The DevOps and software engineers I’ve worked with are more than capable. This is a matter of attention. If you look at what a DevOps engineer has to deal with day-in and day-out, the nuances of TypeScript or Go will take a backseat. And conversely, the nuances of, for example, a VPC will take a backseat to a software engineer delivering a new feature. The gap that the AWS CDK and Pulumi try to bridge is not optimized for anyone and this is how we get bugs, and more dangerously, security holes.
    1. how to helpmost effectively children from ‘poor circumstances’.

      Why do governments and some so-called education leaders ask about how to best help (academically) children from "poor circumstances" in such a way that improving their circumstances is never part of the equation despite it being the immediate root of their problem?

    1. ```js /* * Response from cache / self.addEventListener('fetch', event => { const response = self.caches.open('example') .then(caches => caches.match(event.request)) .then(response => response || fetch(event.request));

      event.respondWith(response); });

      /* * Response to SSE by text / self.addEventListener('fetch', event => { const { headers } = event.request; const isSSERequest = headers.get('Accept') === 'text/event-stream';

      if (!isSSERequest) { return; }

      event.respondWith(new Response('Hello!')); });

      /* * Response to SSE by stream / self.addEventListener('fetch', event => { const { headers } = event.request; const isSSERequest = headers.get('Accept') === 'text/event-stream';

      if (!isSSERequest) { return; }

      const responseText = 'Hello!'; const responseData = Uint8Array.from(responseText, x => x.charCodeAt(0)); const stream = new ReadableStream({ start: controller => controller.enqueue(responseData) }); const response = new Response(stream);

      event.respondWith(response); });

      /* * SSE chunk data / const sseChunkData = (data, event, retry, id) => Object.entries({ event, id, data, retry }) .filter(([, value]) => ![undefined, null].includes(value)) .map(([key, value]) => ${key}: ${value}) .join('\n') + '\n\n';

      /* * Success response to SSE from SW / self.addEventListener('fetch', event => { const { headers } = event.request; const isSSERequest = headers.get('Accept') === 'text/event-stream';

      if (!isSSERequest) { return; }

      const sseChunkData = (data, event, retry, id) => Object.entries({ event, id, data, retry }) .filter(([, value]) => ![undefined, null].includes(value)) .map(([key, value]) => ${key}: ${value}) .join('\n') + '\n\n';

      const sseHeaders = { 'content-type': 'text/event-stream', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', };

      const responseText = sseChunkData('Hello!'); const responseData = Uint8Array.from(responseText, x => x.charCodeAt(0)); const stream = new ReadableStream({ start: controller => controller.enqueue(responseData) }); const response = new Response(stream, { headers: sseHeaders });

      event.respondWith(response); });

      /* * Result / self.addEventListener('fetch', event => { const { headers, url } = event.request; const isSSERequest = headers.get('Accept') === 'text/event-stream';

      // Process only SSE connections if (!isSSERequest) { return; }

      // Headers for SSE response const sseHeaders = { 'content-type': 'text/event-stream', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', }; // Function for formatting message to SSE response const sseChunkData = (data, event, retry, id) => Object.entries({ event, id, data, retry }) .filter(([, value]) => ![undefined, null].includes(value)) .map(([key, value]) => ${key}: ${value}) .join('\n') + '\n\n';

      // Map with server connections, where key - url, value - EventSource const serverConnections = {}; // For each request opens only one server connection and use it for next requests with the same url const getServerConnection = url => { if (!serverConnections[url]) { serverConnections[url] = new EventSource(url); }

      return serverConnections[url];
      

      }; // On message from server forward it to browser const onServerMessage = (controller, { data, type, retry, lastEventId }) => { const responseText = sseChunkData(data, type, retry, lastEventId); const responseData = Uint8Array.from(responseText, x => x.charCodeAt(0)); controller.enqueue(responseData); }; const stream = new ReadableStream({ start: controller => getServerConnection(url).onmessage = onServerMessage.bind(null, controller) }); const response = new Response(stream, { headers: sseHeaders });

      event.respondWith(response); }); ```

    1. ```js self.addEventListener('fetch', event => { const { headers, url } = event.request; const isSSERequest = headers.get('Accept') === 'text/event-stream';

      // We process only SSE connections if (!isSSERequest) { return; }

      // Response Headers for SSE const sseHeaders = { 'content-type': 'text/event-stream', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', }; // Function formatting data for SSE const sseChunkData = (data, event, retry, id) => Object.entries({ event, id, data, retry }) .filter(([, value]) => ![undefined, null].includes(value)) .map(([key, value]) => ${key}: ${value}) .join('\n') + '\n\n'; // Table with server connections, where key is url, value is EventSource const serverConnections = {}; // For each url, we open only one connection to the server and use it for subsequent requests const getServerConnection = url => { if (!serverConnections[url]) serverConnections[url] = new EventSource(url);

      return serverConnections[url];
      

      }; // When we receive a message from the server, we forward it to the browser const onServerMessage = (controller, { data, type, retry, lastEventId }) => { const responseText = sseChunkData(data, type, retry, lastEventId); const responseData = Uint8Array.from(responseText, x => x.charCodeAt(0)); controller.enqueue(responseData); }; const stream = new ReadableStream({ start: controller => getServerConnection(url).onmessage = onServerMessage.bind(null, controller) }); const response = new Response(stream, { headers: sseHeaders });

      event.respondWith(response); }); ```

  6. May 2023
    1. isn't perhaps as robust or scalable as using a full state management solution

      Would @stencil/store now be a better option?

    2. create a new instance

      Will we be able to mock this in tests?

    3. MyServiceController

      I'm not sure the Controller suffix makes sense to me here. Just MyService would be best, but we want that name for the exported constant. Maybe MyServiceClass would be tolerable since it isn't exported.

    1. Registration Agencies must comply with the policies and technical standards established by the IDF, but are free to develop their own business model for running their businesses. There is no appropriate “one size fits all” model; RAs may be for-profit or not-for-profit organisations. The costs of providing DOI registration may be included in the services offered by an RA provision and not separately distinguished from these. Examples of possible business models may involve explicit charging based on the number of prefixes allocated or the number of DOI names allocated; volume discounts, usage discounts, stepped charges, or any mix of these; indirect charging through inclusion of the basic registration functions in related value added services; and cross-subsidy from other sources.

      {Fee-for-Service}

  7. Apr 2023
    1. ’instruction obligatoire peut être donnée aux enfants âgés de trois à six ans dans un établissement d’accueil soit collectif recevant exclusivement des enfants âgés de plus de deux ans dit “jardin d’enfants” géré, financé ou conventionné par une collectivité publique, soit associatif, ouvert à la date d’entrée en vigueur de la loi n° 2019‑791 du 26 juillet 2019 pour une école de la confiance

      c'est pour favoriser les structures privées et DDSP ?

    2. sur des fondations et sur des associations.

      encore de la DSP

  8. Mar 2023
  9. Feb 2023
    1. Experience the Expertise of VectorWiz: Your Premier Clipping Path Service Provider Our well-trained clipping path designers cut the outline, remove the background, shape the edges and deep engrave to enhance your images. Get the best image clipping path service with quality in fast turnaround time. In Our Photo Clipping Path Service, We Ensure- A team of highly skilled and experienced professionals. Producing high-quality results, with attention to detail and precision. Offers customization options to meet the specific needs of a client or project. Capacity to handle large volumes of images efficiently and quickly. Able to work with a variety of different file types and software programs Able to deliver fast turnaround times, depending on the complexity of the project. Robust quality assurance processes to ensure the accuracy and consistency of their work. Excellent customer service, including clear communication and timely responses. Offers competitive pricing for their services. Able to handle a wide range of applications, including isolating objects, removing backgrounds, and creating silhouette effects. VectorWiz provides professional clipping paths as you instruct and retains every detail of photos.

      Best Clipping path service provider.

    2. Best Clipping Path Service Get professional clipping path services from VectorWiz for high-quality image editing. Our skilled designers use the latest techniques to isolate and remove backgrounds, resulting in natural and seamless final products. We can handle any file type and size and offer fast turnaround times.

      Check out our Clipping path service if you need

    1. Clipping PathGet professional clipping path services from VectorWiz for high-quality image editing. Our skilled designers use the latest techniques to isolate and remove backgrounds, resulting in natural and seamless final products.

      Check out this, Is their any confusion around here.

  10. Jan 2023
    1. Recommandation 35.Identifier l’éducation à la sexualité dans les actions pouvant être proposées aux étudiants en service sanitaire et dans leur bilan d’activité et renforcer le suivi de leurs travaux.
  11. Dec 2022
    1. Labs can be a useful piece of the innovation puzzle if managers adopt a systems-thinking strategy, thinking more about their role within the wider government, department or company. They need to shape a culture within the whole organisation that is more open to new ideas, and this could be addressed by focusing more on communication.

      This seems to be the key element here: systems-thinking approach and thinking about our role within our departments.

    2. Some governments say labs build a culture of innovation. While a comforting idea, it’s wrong. Research from 2017 has found that while many companies and countries are investing in labs, that does not mean they are becoming more innovative. It concluded, “[Innovation] takes a lot more than opening a lab. It takes a disciplined approach on a number of fronts.”

      So while something like an OpenLab can create value, it's not sufficient to bring in more innovation.

      One could also put it this way: Instead of trying to become "the innovation lab" in our organization, why not use the group as a room where we can discuss how we bring innovation individually to our groups.

  12. Nov 2022
    1. Services are duplicates if they are provided to the same target group, by the same provider, under the same agreement, to the same location, and using the same interface.
      • target group
      • provider
      • agreement
      • location
      • interface
  13. Oct 2022
  14. Sep 2022
  15. Aug 2022
    1. ReconfigBehSci [@SciBeh]. (2021, December 20). This thread is sobering and informative with respect to what overloading health services means in terms of individual experience...worth popping into google translate fir non-German speakers [Tweet]. Twitter. https://twitter.com/SciBeh/status/1472983739890348045

  16. Jul 2022
    1. What is Istio Service Mesh? Let's take a quick look at Istio internals. The Istio architecture can be classified into two distinct planes. Control plane: It consists of the istiod demon, and it manages and configures the envoy proxies to route traffic. The control plane also enforces policies and collects telemetry, and includes components like Pilot for traffic management, Citadel to manage security, and Galley to manage configurations. Data plane: It's made of Envoy proxies deployed as sidecars to our application containers. Envoy is a high-performance, lightweight distributed proxy. It controls all the incoming and outgoing traffic to the container it is attached to. We can use tools like Grafana, Prometheus, Kiali and Zipkin for monitoring and observability as they work well with the telemetry provided by Istio. You can use these or use your existing monitoring stack as well.

      What is Istio Service Mesh?

    1. Realisable service level efficiency improvements could38reduce upstream energy demand by 45% in 2050.

      increasing service level efficiency can play a major role in reducing upstream energy demands.

  17. Jun 2022
  18. May 2022
    1. The idea of Public Service Internet platforms is one of those alternatives, where “users manage their data, download and re-use their self-curated data for reuse on other platforms [… which] minimise and decentralise data storage and have no need to monetise and monitor Internet use” (Fuchs & Unterberger, 2021, p. 13).
    1. Is IT Maintenance the same as IT Management? For some it may be a semantic discussion while others consider these words synonymous.

      IT Maintenance and IT Management are not the same

      Is IT Maintenance the same as IT Management? For some it may be a semantic discussion while others consider these words synonymous.

  19. Apr 2022
    1. Allyson Pollock [@AllysonPollock]. (2022, January 4). The health care crisis is of governments making over three decades. Closing half general and acute beds, closing acute hospitals and community services,eviscerating public health, no service planning. Plus unevidenced policies on testing and self isolation of contacts. @dthroat [Tweet]. Twitter. https://twitter.com/AllysonPollock/status/1478326352516460544

    1. What is VoIP Services?

      Voice over Internet Protocol (VoIP), is a technology it is used to make voice calls using a broadband Internet connection instead of a regular/analog phone lines.

      VoIP System has Introduced significantly since the 90s when it first arised. Presently, in most of industries and countries, it has turned into a definitive answer for business communications.

    1. Are you looking to buy affordable SEO Plan in India

      Could it be said that you are searching for SEO Plan India? Indidigital offers SEO Plan India for small to large organizations. Rather than giving fixed-cost month to month SEO bundles, we give custom and reasonable SEO bundles that help the business prerequisites of each client.

      SEO Plan India from Indidigital doesn’t just build your internet searcher rankings yet in addition work on your transformation, area authority and brand perceivability. We are a main website improvement organization in India whose SEO Plan India merits each dime. Our SEO Plan assists you with positioning higher in Google list items. From site enhancement to catchphrase rankings we deal with each and every part of SEO to expand your natural traffic pronto.

      SEO Plan India, We are not something similar for a wide range of organizations since we comprehend that when each business isn't similar then the way in which SEO bundles can be that is the reason we offer custom SEO Plan India for our clients assuming they are searching for custom site design improvement bundles.

      SEO Plan India is a gathering of SEO administrations that serve the natural or neglected web promoting requests of a business. These plans are regularly presented by computerized promotion offices and they help organizations by showcasing them on the web by expanding their perceivability, search rankings and site traffic.

      Settling on the SEO Plan India is awesome assuming that you are searching for big business or B2B leads. It's likewise reasonable assuming your last objective is to get more abroad business leads or attractions. We make designated strides for your business and assist you with accomplishing a public crowd with our viable SEO estimating.

      With regards to E-trade SEO, it will help your items rank quicker and further develop the development pace of your E-business stage or site. Whether you sell one item or proposition a full stock, our internet business SEO bundles can get you rolling. On the off chance that you wish to prevail in the Indian market with your web based business site, better pick our SEO Plan India. Anything your business objective might be, we can assist you scale your business with the administrations of our expert SEO group.

      https://www.indidigital.in/search-engine-optimization/

      To get in touch with INDIDIGITAL TEAM, contact at India contact #- +91-9971778006, USA Contact #- 1–8068484144, email us- contact@indidigital.com, skype us- indidigital, indidigital@gmail.com For more visit our website: https://www.indidigital.in/

    1. 一个神奇的服务: Numberbarn ( https://www.numberbarn.com/number-parking ).

      如果离开美国/加拿大,还想要保留号码(毕竟有很多网站都需要2factor验证了)。每月$2,把号码转到他们的服务,可以接收短信和电话。 作为参考,朋友离开美国时把号码转到了Google Fi,一个月20美金(包含10GB data),但如果只是作备用手机号,接收各种服务的短信,也不需要手机流量。所以有点点浪费。 https://m.cmx.im/@bluegrass/108078708274311448

  20. Mar 2022
    1. Professional Gardening Service Provider

      If your garden is well maintained, you are more likely to spend time there. A well-kept garden can create an overwhelming feeling of calm and order even when you’re just looking out at it. This is similar to having a clean, neat and tidy house. Feeling better is good. Furthermore, a beautiful and healthy garden will truly enhance the appearance of your property. To accomplish that, there are a variety of steps that need to be taken.

      When you engage a professional gardening cleaning service, they ensure that your garden's lawn and hedges are properly mowed and manicured.

    1. Ce programme nommé « I can word it too », disponible en hébreu et arabe, a été spécialement créé pour cette étude. Il reproduit les activités quotidiennes (jouer à des jeux, prendre les repas, faire sa toilette…) et demande à l’enfant ce à quoi il veut jouer, en lui présentant un choix de jeux sur l’écran

      ==>il s’agirait d’une déclinaison sur écran des outils et méthodes de communication améliorée et alternative (CAA), comme le PECS ou le Makaton. déjà existants, IDEOPICTO ou le langage conceptuel SACCADE

  21. Feb 2022
    1. Sending secure email is one of the questions we hear more and more. This is a result of an increasing number of email security risks, hacks and other threats. So you're not the only person wondering, "How to send secure email in Gmail? (or any other public email service for that matter?") You'll find the answer in this article. This article concludes with a link to a free encrypted email service First check whether you meet the conditions.

      How to send secure email (in Outlook)? Sending secure email is one of the questions we hear more and more. This is a result of an increasing number of email security risks, hacks and other threats. So you're not the only person wondering, "How to send secure email in Gmail? (or any other public email service for that matter?") You'll find the answer in this article. This article concludes with a link to a free encrypted email service First check whether you meet the conditions.

    1. Unterstützung derDatenentdeckung, der Beurteilung der Datenherkunft und Datenqualität sowie der Daten-und Ergebnisinterpretation durch Fachanwender.

      Aspekte

    2. Metadaten spielen eine zentrale Rollebei der Umsetzung von Self-Service-Szenarien [Te15].

      Rolle in Self-Service-Szenarien

    1. R e c o m m a n d at i o n n ° 1 2 La Défenseure des droits recommande aux directeurs académiques, en concertation avec les collèges et lycées, de diffuser à chaque rentrée scolaire, via un support adapté (livret d’accueil, etc.), les informations relatives à la présence au sein de l’établissement, de l’assistante sociale et de l’infirmière scolaire. Une information systématique à destination des parents sur l’accès à la médecine scolaire doit aussi être organisée
  22. Jan 2022
    1. Is ITIL Losing Importance Due To SaaS? ITIL is a set of procedures and practices of IT service management when we mistakenly believe that we don't have to worry about that in SaaS. However, ITIL has many aspects and facets that encompasses running IT in an organization. Moreover, it is not a checklist for the implementation of specific services in specific environments. For SaaS, we can just use a different toolset to follow the general ITIL guidelines.

    1. Kayla Simpson. (2022, January 3). The COVID data coming out of NYC jails is...beyond staggering. Today’s report shows a 7-day avg positivity rate of 37%, w/502 ACTIVE INFECTIONS. With a ~5K census, that means that nearly one in ten people in DOC has an ACTIVE infection. Crisis on crisis. Https://hhinternet.blob.core.windows.net/uploads/2022/01/CHS-COVID-19-data-snapshot-2020103.pdf [Tweet]. @KSimpsonHere. https://twitter.com/KSimpsonHere/status/1478114046360657926

  23. Dec 2021
    1. // main.js
      const { RemoteReadableStream, RemoteWritableStream } = RemoteWebStreams;
      (async () => {
        const worker = new Worker('./worker.js');
        // create a stream to send the input to the worker
        const { writable, readablePort } = new RemoteWritableStream();
        // create a stream to receive the output from the worker
        const { readable, writablePort } = new RemoteReadableStream();
        // transfer the other ends to the worker
        worker.postMessage({ readablePort, writablePort }, [readablePort, writablePort]);
      
        const response = await fetch('./some-data.txt');
        await response.body
          // send the downloaded data to the worker
          // and receive the results back
          .pipeThrough({ readable, writable })
          // show the results as they come in
          .pipeTo(new WritableStream({
            write(chunk) {
              const results = document.getElementById('results');
              results.appendChild(document.createTextNode(chunk)); // tadaa!
            }
          }));
      })();
      
      // worker.js
      const { fromReadablePort, fromWritablePort } = RemoteWebStreams;
      self.onmessage = async (event) => {
        // create the input and output streams from the transferred ports
        const { readablePort, writablePort } = event.data;
        const readable = fromReadablePort(readablePort);
        const writable = fromWritablePort(writablePort);
      
        // process data
        await readable
          .pipeThrough(new TransformStream({
            transform(chunk, controller) {
              controller.enqueue(process(chunk)); // do the actual work
            }
          }))
          .pipeTo(writable); // send the results back to main thread
      };
      
    1. What you're trying to do is known as the "Application Shell" architectural pattern.

      The trick is to have your service worker's fetch handler check to see whether an incoming request is a navigation (event.request.mode === 'navigate'), and if so, respond with the cached App Shell HTML (which sounds like /index.html in your case).

      A generic way of doing this would be:

      self.addEventListener('fetch', (event) => {
        if (event.request.mode === 'navigate') {
          event.respondWith(caches.match('/index.html'));
        } else {
          // Your other response logic goes here.
        }
      });
      

      This will cause your service worker to behave in a similar fashion to how you're web server is already configured.

    1. Fetch and modify response properties which are immutable by creating a copy first.
      /**
       * @param {string} headerNameSrc Header to get the new value from
       * @param {string} headerNameDst Header to set based off of value in src
       */
      const headerNameSrc = "foo" //"Orig-Header"
      const headerNameDst = "Last-Modified"
      
      async function handleRequest(request) {
        /**
         * Response properties are immutable. To change them, construct a new
         * Response and pass modified status or statusText in the ResponseInit
         * object. Response headers can be modified through the headers `set` method.
         */
        const originalResponse = await fetch(request)
      
        // Change status and statusText, but preserve body and headers
        let response = new Response(originalResponse.body, {
          status: 500,
          statusText: "some message",
          headers: originalResponse.headers,
        })
      
        // Change response body by adding the foo prop
        const originalBody = await originalResponse.json()
        const body = JSON.stringify({ foo: "bar", ...originalBody })
        response = new Response(body, response)
      
        // Add a header using set method
        response.headers.set("foo", "bar")
      
        // Set destination header to the value of the source header
        const src = response.headers.get(headerNameSrc)
      
        if (src != null) {
          response.headers.set(headerNameDst, src)
          console.log(
            `Response header "${headerNameDst}" was set to "${response.headers.get(
              headerNameDst,
            )}"`,
          )
        }
        return response
      }
      
      addEventListener("fetch", event => {
        event.respondWith(handleRequest(event.request))
      })