nodejs / nodejs/node

Request for early feedback: Fetch server API

Open
#65,314 1 comment 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discuss http http2 http3 https quic quic-agenda
Dominant language
JavaScript
Stars
122k
Forks
37.3k
Avg merge
4d 2h
Merged PRs (30d)
283

Description

As part of the new unified http API strategic initiative, I am working on a new WinterTC/TC55 proposal for a new "Fetch Server API".

A key goal of this is a server API that is runtime agnostic; and in particular not-Node.js specific. It also covers all versions of http (h1, h2, h3).

You can find the rendered draft here: https://proposal-fetch-server.jasnell.me/

Github repo for issues/discussion here: https://github.com/jasnell/proposal-fetch-server

Some background reading for ideas leading into this:

Note: it is well established that the current standard definitions of the fetch Request/Response/etc APIs are not entirely suitable for server side use given a strict reading of the specification. There's no reason to rehash those arguments. A goal of this work is to address those limitations.

This is NOT YET an official TC55 work item. It is a draft proposal that I will be presenting to the committee at the next meeting. Before then, I'm soliciting feedback on the design.

@nodejs/quic @nodejs/http @nodejs/http2 @nodejs/net

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the rendered Fetch Server API draft and the linked proposal repository, then review the background posts for the design context. Done means providing actionable feedback on the runtime-agnostic API design before its proposed TC55 presentation.

Written by the indexing model from the issue text.

Assessment

Domain
api, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.