http
http copied to clipboard
Make BaseRequest clonable
It seems that this feature was never delivered. It makes me either implement my own instance of Request and deal with lots of shenanigans or fork your library, which seems kinda strange for such a basic feature.
https://github.com/dart-lang/http/issues/103
If Response had something like this, would it be useful?
@0ttik
Response copyWith({
int? statusCode,
BaseRequest? request,
Map<String, String>? headers,
bool? isRedirect,
bool? persistentConnection,
String? reasonPhrase,
List<int>? bodyBytes,
}) =>
Response.bytes(
bodyBytes ?? this.bodyBytes,
statusCode ?? this.statusCode,
request: request ?? this.request,
headers: headers ?? this.headers,
isRedirect: isRedirect ?? this.isRedirect,
persistentConnection: persistentConnection ?? this.persistentConnection,
reasonPhrase: reasonPhrase ?? this.reasonPhrase,
);
@MelbourneDeveloper, yes it would be great. Nowdays we can deal with it using extensions, but still.
Which extensions do you use? @0ttik ?
just
extension Bamboozle on Response {
Response copyWith({
int? statusCode,
BaseRequest? request,
Map<String, String>? headers,
bool? isRedirect,
bool? persistentConnection,
String? reasonPhrase,
List<int>? bodyBytes,
}) =>
Response.bytes(
bodyBytes ?? this.bodyBytes,
statusCode ?? this.statusCode,
request: request ?? this.request,
headers: headers ?? this.headers,
isRedirect: isRedirect ?? this.isRedirect,
persistentConnection: persistentConnection ?? this.persistentConnection,
reasonPhrase: reasonPhrase ?? this.reasonPhrase,
);
}