@@ -4,39 +4,39 @@ import Combine
44/// Use an Array of `Interceptor` as a single `Interceptor`
55public struct CompositeInterceptor : ExpressibleByArrayLiteral , Sequence {
66 let interceptors : [ Interceptor ]
7-
7+
88 public init ( arrayLiteral interceptors: Interceptor ... ) {
99 self . interceptors = interceptors
1010 }
11-
11+
1212 public func makeIterator( ) -> Array < Interceptor > . Iterator {
1313 interceptors. makeIterator ( )
1414 }
1515}
16-
16+
1717extension CompositeInterceptor : Interceptor {
1818 public func adaptRequest< Output> ( _ request: Request < Output > ) -> Request < Output > {
1919 reduce ( request) { request, interceptor in
2020 interceptor. adaptRequest ( request)
2121 }
2222 }
23-
23+
2424 public func rescueRequest< Output> ( _ request: Request < Output > , error: Error ) -> AnyPublisher < Void , Error > ? {
2525 let publishers = compactMap { $0. rescueRequest ( request, error: error) }
26-
26+
2727 guard !publishers. isEmpty else {
2828 return nil
2929 }
30-
30+
3131 return Publishers . MergeMany ( publishers) . eraseToAnyPublisher ( )
3232 }
33-
33+
3434 public func adaptOutput< Output> ( _ response: Output , for request: Request < Output > ) throws -> Output {
3535 try reduce ( response) { response, interceptor in
3636 try interceptor. adaptOutput ( response, for: request)
3737 }
3838 }
39-
39+
4040 public func receivedResponse< Output> ( _ result: Result < Output , Error > , for request: Request < Output > ) {
4141 forEach { interceptor in
4242 interceptor. receivedResponse ( result, for: request)
0 commit comments