Movatterモバイル変換


[0]ホーム

URL:


Skip to content
Cloudflare Docs
Log in

TheResponse interface represents an HTTP response and is part of the Fetch API.


JavaScript
letresponse=newResponse(body,init);

Parameters

  • body optional

    • An object that defines the body text for the response. Can benull or any one of the following types:

      • BufferSource
      • FormData
      • ReadableStream
      • URLSearchParams
      • USVString
  • init optional

    • Anoptions object that contains custom settings to apply to the response.

Valid options for theoptions object include:

  • cf any | null
    • An object that contains Cloudflare-specific information. This object is not part of the Fetch API standard and is only available in Cloudflare Workers. This field is only used by consumers of the Response for informational purposes and does not have any impact on Workers behavior.
  • encodeBody string
    • Workers have to compress data according to thecontent-encoding header when transmitting, to serve data that is already compressed, this property has to be set to"manual", otherwise the default is"automatic".
  • headers Headers | ByteString
    • Any headers to add to your response that are contained within aHeaders object or object literal ofByteString key-value pairs.
  • status int
    • The status code for the response, such as200.
  • statusText string
    • The status message associated with the status code, such as,OK.
  • webSocket WebSocket | null
    • This is present in successful WebSocket handshake responses. For example, if a client sends a WebSocket upgrade request to an origin and a Worker intercepts the request and then forwards it to the origin and the origin replies with a successful WebSocket upgrade response, the Worker seesresponse.webSocket. This establishes a WebSocket connection proxied through a Worker. Note that you cannot intercept data flowing over a WebSocket connection.

Properties

  • response.body Readable Stream
    • A getter to get the body contents.
  • response.bodyUsed boolean
    • A boolean indicating if the body was used in the response.
  • response.headers Headers
    • The headers for the response.
  • response.ok boolean
    • A boolean indicating if the response was successful (status in the range200-299).
  • response.redirected boolean
    • A boolean indicating if the response is the result of a redirect. If so, its URL list has more than one entry.
  • response.status int
    • The status code of the response (for example,200 to indicate success).
  • response.statusText string
    • The status message corresponding to the status code (for example,OK for200).
  • response.url string
    • The URL of the response. The value is the final URL obtained after any redirects.
  • response.webSocket WebSocket?
    • This is present in successful WebSocket handshake responses. For example, if a client sends a WebSocket upgrade request to an origin and a Worker intercepts the request and then forwards it to the origin and the origin replies with a successful WebSocket upgrade response, the Worker seesresponse.webSocket. This establishes a WebSocket connection proxied through a Worker. Note that you cannot intercept data flowing over a WebSocket connection.

Methods

Instance methods

  • clone() : Response

  • json() : Response

    • Creates a new response with a JSON-serialized payload.
  • redirect() : Response

    • Creates a new response with a different URL.

Additional instance methods

Response implements theBody mixin of theFetch API, and thereforeResponse instances additionally have the following methods available:

  • arrayBuffer() : Promise<ArrayBuffer>

  • formData() : Promise<FormData>

    • Takes aResponse stream, reads it to completion, and returns a promise that resolves with aFormData object.
  • json() : Promise<JSON>

    • Takes aResponse stream, reads it to completion, and returns a promise that resolves with the result of parsing the body text asJSON.
  • text() : Promise<USVString>

    • Takes aResponse stream, reads it to completion, and returns a promise that resolves with aUSVString (text).

Set theContent-Length header

TheContent-Length header will be automatically set by the runtime based on whatever the data source for theResponse is. Any value manually set by user code in theHeaders will be ignored. To have aContent-Length header with a specific value specified, thebody of theResponse must be either aFixedLengthStream or a fixed-length value just as a string orTypedArray.

AFixedLengthStream is an identityTransformStream that permits only a fixed number of bytes to be written to it.

JavaScript
const{writable,readable}=newFixedLengthStream(11);
constenc=newTextEncoder();
constwriter=writable.getWriter();
writer.write(enc.encode("hello world"));
writer.end();
returnnewResponse(readable);

Using any other type ofReadableStream as the body of a response will result in chunked encoding being used.


Differences

The Workers implementation of theResponse interface includes several extensions to the web standardResponse API. These differences are intentional and provide additional functionality specific to the Workers runtime.

Workers type definitions (from@cloudflare/workers-types or generated viawrangler types) define aResponse type that includes Workers-specific properties likecf andwebSocket. This type is not directly compatible with the standardResponse type fromlib.dom.d.ts. If you are working with code that uses both Workers types and standard web types, you may need to use type assertions.

Thecf property

Workers adds an optionalcf property to theResponse object. This property can be set in theResponseInit options and is used for informational purposes by consumers of the Response. It does not affect Workers behavior.

ThewebSocket property

Workers adds awebSocket property to theResponse object to support WebSocket connections. This property is present in successful WebSocket handshake responses. Refer toWebSockets for more information.

TheencodeBody option

Workers adds anencodeBody option inResponseInit that controls how the response body is compressed. Set this to"manual" when serving pre-compressed data to prevent automatic compression.

Theheaders property

Theheaders property returns a Workers-specificHeaders object that includes additional methods likegetAll() forSet-Cookie headers. Refer to theHeaders documentation for details on how the WorkersHeaders implementation differs from the web standard.


Related resources


[8]
ページ先頭

©2009-2026 Movatter.jp