63 lines
2.2 KiB
Dart
63 lines
2.2 KiB
Dart
// ignore_for_file: public_member_api_docs, sort_constructors_first
|
|
// Copyright (C) 2022 WYATT GROUP
|
|
// Please see the AUTHORS file for details.
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
// any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
import 'package:wyatt_http_client/src/middleware_client.dart';
|
|
import 'package:wyatt_http_client/src/models/middleware_request.dart';
|
|
import 'package:wyatt_http_client/src/models/middleware_response.dart';
|
|
import 'package:wyatt_http_client/src/pipeline.dart';
|
|
|
|
class MiddlewareContext {
|
|
Pipeline pipeline;
|
|
MiddlewareClient client;
|
|
MiddlewareRequest? originalRequest;
|
|
MiddlewareRequest? lastRequest;
|
|
MiddlewareResponse? originalResponse;
|
|
MiddlewareResponse? lastResponse;
|
|
|
|
MiddlewareContext({
|
|
required this.pipeline,
|
|
required this.client,
|
|
this.originalRequest,
|
|
this.lastRequest,
|
|
this.originalResponse,
|
|
this.lastResponse,
|
|
});
|
|
|
|
MiddlewareContext copyWith({
|
|
Pipeline? pipeline,
|
|
MiddlewareClient? client,
|
|
MiddlewareRequest? originalRequest,
|
|
MiddlewareRequest? lastRequest,
|
|
MiddlewareResponse? originalResponse,
|
|
MiddlewareResponse? lastResponse,
|
|
}) {
|
|
return MiddlewareContext(
|
|
pipeline: pipeline ?? this.pipeline,
|
|
client: client ?? this.client,
|
|
originalRequest: originalRequest ?? this.originalRequest,
|
|
lastRequest: lastRequest ?? this.lastRequest,
|
|
originalResponse: originalResponse ?? this.originalResponse,
|
|
lastResponse: lastResponse ?? this.lastResponse,
|
|
);
|
|
}
|
|
|
|
@override
|
|
String toString() {
|
|
return 'MiddlewareContext(pipeline: $pipeline, client: $client, originalRequest: $originalRequest, lastRequest: $lastRequest, originalResponse: $originalResponse, lastResponse: $lastResponse)';
|
|
}
|
|
}
|