Response constructor
Creates a new Response object.
Implementation
factory Response(
Object? body, {
int? status,
String? statusText,
Object? headers,
}) {
return switch (body) {
Response res => Response._(res.body,
type: res.type,
headers: headers ?? res.headers,
status: status ?? res.status,
statusText: statusText),
Stream<Uint8List> stream => Response._(stream,
headers: headers,
status: status,
statusText: statusText,
type: ResponseType.basic),
ArrayBuffer buffer => Response._(Stream.value(buffer.asUint8List()),
headers: headers,
status: status,
statusText: statusText,
type: ResponseType.basic),
TypedData data => Response._(Stream.value(data.buffer.asUint8List()),
headers: headers,
status: status,
statusText: statusText,
type: ResponseType.basic),
Blob blob => blob.createResponse(
headers: headers,
status: status,
statusText: statusText,
type: ResponseType.basic),
FormData fromData => fromData.createResponse(
headers: headers,
status: status,
statusText: statusText,
type: ResponseType.basic),
URLSearchParams params => params.createResponse(
headers: headers,
status: status,
statusText: statusText,
type: ResponseType.basic),
String value => Response._(Stream<Uint8List>.value(utf8.encode(value)),
headers: headers,
status: status,
statusText: statusText,
type: ResponseType.basic),
null => Response._(null,
headers: headers,
status: status,
statusText: statusText,
type: ResponseType.basic),
// Other types, returns json response
_ => Response.json(body,
headers: headers, status: status, statusText: statusText),
};
}