chromium/third_party/blink/renderer/core/fetch/body.idl

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// https://fetch.spec.whatwg.org/#body

[
    ActiveScriptWrappable
] interface mixin Body {
    readonly attribute boolean bodyUsed;
    [CallWith=ScriptState, NewObject, RaisesException] Promise<ArrayBuffer> arrayBuffer();
    [CallWith=ScriptState, NewObject, RaisesException] Promise<Blob> blob();
    [CallWith=ScriptState, NewObject, RaisesException] Promise<FormData> formData();
    [CallWith=ScriptState, NewObject, RaisesException] Promise<any> json();
    [CallWith=ScriptState, NewObject, RaisesException] Promise<USVString> text();

    // body attribute is defined in sub-interfaces, because the IDL processor
    // cannot deal with attribute inheritance with runtime enabled flag.
    // [RuntimeEnabled=ExperimentalStream] readonly attribute ReadableByteStream body;
};