feat(http): implements doublelinked list for middlewares
This commit is contained in:
@@ -16,25 +16,33 @@
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
import 'package:http/http.dart';
|
||||
|
||||
import 'package:wyatt_http_client/src/models/middleware_context.dart';
|
||||
import 'package:wyatt_http_client/src/models/unfreezed_request.dart';
|
||||
import 'package:wyatt_http_client/src/utils/utils.dart';
|
||||
|
||||
class MiddlewareRequest {
|
||||
UnfreezedRequest unfreezedRequest;
|
||||
Request httpRequest;
|
||||
MiddlewareContext context;
|
||||
|
||||
MiddlewareRequest({
|
||||
required this.unfreezedRequest,
|
||||
required this.httpRequest,
|
||||
});
|
||||
required this.context,
|
||||
}) {
|
||||
context = context.copyWith(originalRequest: this);
|
||||
}
|
||||
|
||||
MiddlewareRequest copyWith({
|
||||
UnfreezedRequest? unfreezedRequest,
|
||||
Request? httpRequest,
|
||||
MiddlewareContext? context,
|
||||
}) {
|
||||
return MiddlewareRequest(
|
||||
unfreezedRequest: unfreezedRequest ?? this.unfreezedRequest,
|
||||
httpRequest: httpRequest ?? this.httpRequest,
|
||||
context: context ?? this.context,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -85,5 +93,5 @@ class MiddlewareRequest {
|
||||
|
||||
@override
|
||||
String toString() => 'MiddlewareRequest(unfreezedRequest: '
|
||||
'$unfreezedRequest, httpRequest: $httpRequest)';
|
||||
'$unfreezedRequest, httpRequest: $httpRequest, context: $context)';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user