feat(http): implements doublelinked list for middlewares

This commit is contained in:
2022-06-24 10:47:28 +02:00
parent 58d3b70bee
commit 14cb3485e4
16 changed files with 720 additions and 267 deletions
@@ -16,22 +16,35 @@
// 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/middleware_request.dart';
class MiddlewareResponse {
BaseResponse httpResponse;
MiddlewareRequest middlewareRequest;
MiddlewareContext context;
MiddlewareResponse({
required this.httpResponse,
});
required this.middlewareRequest,
required this.context,
}) {
context = context.copyWith(originalResponse: this);
}
MiddlewareResponse copyWith({
BaseResponse? httpResponse,
MiddlewareRequest? middlewareRequest,
MiddlewareContext? context,
}) {
return MiddlewareResponse(
httpResponse: httpResponse ?? this.httpResponse,
middlewareRequest: middlewareRequest ?? this.middlewareRequest,
context: context ?? this.context,
);
}
@override
String toString() => 'MiddlewareResponse(httpResponse: $httpResponse)';
String toString() => 'MiddlewareResponse(httpResponse: $httpResponse, '
'middlewareRequest: $middlewareRequest, context: $context)';
}