From a14e4d01fca5dcd1db6d62d0ba56efb47c73f0cc Mon Sep 17 00:00:00 2001 From: Bill Panagiotopoulos Date: Fri, 16 Dec 2022 18:20:54 +0200 Subject: [PATCH] Prepare for 3.2.0 release --- CHANGELOG.md | 26 +- README.md | 6 +- TermiNetwork.podspec | 2 +- docs/Classes.html | 11 +- docs/Classes/Cache.html | 9 +- docs/Classes/Configuration.html | 9 +- docs/Classes/Environment.html | 9 +- docs/Classes/Operation.html | 9 +- docs/Classes/Queue.html | 9 +- docs/Classes/Reachability.html | 9 +- docs/Classes/Request.html | 49 ++- docs/Classes/RouteConfiguration.html | 9 +- docs/Classes/Router.html | 9 +- docs/Classes/Transformer.html | 11 +- docs/Enums.html | 9 +- docs/Enums/InterceptionAction.html | 9 +- docs/Enums/Method.html | 9 +- docs/Enums/MultipartFormDataPartType.html | 9 +- docs/Enums/Path.html | 9 +- docs/Enums/QueueFailureMode.html | 9 +- docs/Enums/ReachabilityState.html | 9 +- docs/Enums/RequestBodyType.html | 9 +- docs/Enums/TNError.html | 15 +- docs/Enums/URLScheme.html | 9 +- docs/Extensions.html | 9 +- docs/Extensions/Data.html | 9 +- docs/Extensions/Decodable.html | 9 +- docs/Protocols.html | 37 +- docs/Protocols/EnvironmentProtocol.html | 9 +- docs/Protocols/InterceptorProtocol.html | 9 +- docs/Protocols/RequestMiddlewareProtocol.html | 9 +- docs/Protocols/RouteProtocol.html | 9 +- docs/Protocols/TransformerProtocol.html | 337 ++++++++++++++++++ docs/Structs.html | 9 +- docs/Structs/Image.html | 9 +- docs/Typealiases.html | 9 +- docs/badge.svg | 16 +- .../Contents/Resources/Documents/Classes.html | 11 +- .../Resources/Documents/Classes/Cache.html | 9 +- .../Documents/Classes/Configuration.html | 9 +- .../Documents/Classes/Environment.html | 9 +- .../Documents/Classes/Operation.html | 9 +- .../Resources/Documents/Classes/Queue.html | 9 +- .../Documents/Classes/Reachability.html | 9 +- .../Resources/Documents/Classes/Request.html | 49 ++- .../Documents/Classes/RouteConfiguration.html | 9 +- .../Resources/Documents/Classes/Router.html | 9 +- .../Documents/Classes/Transformer.html | 11 +- .../Contents/Resources/Documents/Enums.html | 9 +- .../Documents/Enums/InterceptionAction.html | 9 +- .../Resources/Documents/Enums/Method.html | 9 +- .../Enums/MultipartFormDataPartType.html | 9 +- .../Resources/Documents/Enums/Path.html | 9 +- .../Documents/Enums/QueueFailureMode.html | 9 +- .../Documents/Enums/ReachabilityState.html | 9 +- .../Documents/Enums/RequestBodyType.html | 9 +- .../Resources/Documents/Enums/TNError.html | 15 +- .../Resources/Documents/Enums/URLScheme.html | 9 +- .../Resources/Documents/Extensions.html | 9 +- .../Resources/Documents/Extensions/Data.html | 9 +- .../Documents/Extensions/Decodable.html | 9 +- .../Resources/Documents/Protocols.html | 37 +- .../Protocols/EnvironmentProtocol.html | 9 +- .../Protocols/InterceptorProtocol.html | 9 +- .../Protocols/RequestMiddlewareProtocol.html | 9 +- .../Documents/Protocols/RouteProtocol.html | 9 +- .../Protocols/TransformerProtocol.html | 337 ++++++++++++++++++ .../Contents/Resources/Documents/Structs.html | 9 +- .../Resources/Documents/Structs/Image.html | 9 +- .../Resources/Documents/Typealiases.html | 9 +- .../Contents/Resources/Documents/index.html | 126 ++++++- .../Contents/Resources/Documents/search.json | 2 +- .../Contents/Resources/docSet.dsidx | Bin 61440 -> 61440 bytes docs/docsets/TermiNetwork.tgz | Bin 178641 -> 180202 bytes docs/docsets/TermiNetwork.xml | 2 +- docs/index.html | 126 ++++++- docs/search.json | 2 +- docs/undocumented.json | 29 +- 78 files changed, 1506 insertions(+), 237 deletions(-) create mode 100644 docs/Protocols/TransformerProtocol.html create mode 100644 docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Protocols/TransformerProtocol.html diff --git a/CHANGELOG.md b/CHANGELOG.md index bc83ba49..d91ad1c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,31 @@ ## [Unreleased](https://github.com/billp/TermiNetwork/tree/HEAD) -[Full Changelog](https://github.com/billp/TermiNetwork/compare/3.1.0...HEAD) +[Full Changelog](https://github.com/billp/TermiNetwork/compare/3.1.1...HEAD) + +**Implemented enhancements:** + +- Write test cases covering task cancelation [\#44](https://github.com/billp/TermiNetwork/issues/44) +- Wrap all async functions with withTaskCancellationHandler that cancels the request if needed [\#43](https://github.com/billp/TermiNetwork/issues/43) +- Support task cancellation on async functions [\#42](https://github.com/billp/TermiNetwork/issues/42) + +**Closed issues:** + +- Unescape escaped slashes of response from logger [\#49](https://github.com/billp/TermiNetwork/issues/49) +- Fix duplicated debug print on codable deserialisation error [\#46](https://github.com/billp/TermiNetwork/issues/46) +- No need to handle middleware if there is already an error [\#40](https://github.com/billp/TermiNetwork/issues/40) +- Change access level of Transformer's internal protocol type [\#37](https://github.com/billp/TermiNetwork/issues/37) + +**Merged pull requests:** + +- Support task cancellation on async functions \(\#42\) [\#51](https://github.com/billp/TermiNetwork/pull/51) ([billp](https://github.com/billp)) +- Unescape escaped slashes of response from logger \(\#49\) [\#50](https://github.com/billp/TermiNetwork/pull/50) ([billp](https://github.com/billp)) +- Fix duplicated debug print on codable deserialisation error \(\#46\) [\#47](https://github.com/billp/TermiNetwork/pull/47) ([billp](https://github.com/billp)) +- if there is already an error, then no need to handle the middleware [\#39](https://github.com/billp/TermiNetwork/pull/39) ([voynovia](https://github.com/voynovia)) + +## [3.1.1](https://github.com/billp/TermiNetwork/tree/3.1.1) (2022-12-04) + +[Full Changelog](https://github.com/billp/TermiNetwork/compare/3.1.0...3.1.1) **Closed issues:** diff --git a/README.md b/README.md index bf0b76ab..0fea5f91 100644 --- a/README.md +++ b/README.md @@ -76,19 +76,19 @@ You can install **TermiNetwork** with one of the following ways... Add the following line to your **Podfile** and run **pod install** in your terminal: ```ruby -pod 'TermiNetwork', '~> 3.0.0' +pod 'TermiNetwork', '~> 3.2.0' ``` ### Carthage Add the following line to your **Carthage** and run **carthage update** in your terminal: ```ruby -github "billp/TermiNetwork" ~> 3.0.0 +github "billp/TermiNetwork" ~> 3.2.0 ``` ### Swift Package Manager -Go to **File** > **Swift Packages** > **Add Package Dependency** and add the following URL : +Go to **File** > **Swift Packages** > **Add Package Dependency** and add the following URL: ``` https://github.com/billp/TermiNetwork ``` diff --git a/TermiNetwork.podspec b/TermiNetwork.podspec index 1c7fbb84..7248686f 100644 --- a/TermiNetwork.podspec +++ b/TermiNetwork.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'TermiNetwork' - s.version = '3.1.1' + s.version = '3.2.0' s.summary = 'A zero-dependency networking solution for building modern and secure iOS, watchOS, macOS and tvOS applications.' s.homepage = 'https://github.com/billp/TermiNetwork.git' s.license = 'MIT' diff --git a/docs/Classes.html b/docs/Classes.html index e6b1a4c0..f178d521 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
@@ -543,7 +546,7 @@

Declaration

diff --git a/docs/Classes/Cache.html b/docs/Classes/Cache.html index b532fcbe..1e7b2d07 100644 --- a/docs/Classes/Cache.html +++ b/docs/Classes/Cache.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Classes/Configuration.html b/docs/Classes/Configuration.html index 1945088d..5e82a0ef 100644 --- a/docs/Classes/Configuration.html +++ b/docs/Classes/Configuration.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Classes/Environment.html b/docs/Classes/Environment.html index 02bd2de7..9091ba5c 100644 --- a/docs/Classes/Environment.html +++ b/docs/Classes/Environment.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Classes/Operation.html b/docs/Classes/Operation.html index 6b11812e..b7857139 100644 --- a/docs/Classes/Operation.html +++ b/docs/Classes/Operation.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Classes/Queue.html b/docs/Classes/Queue.html index 3c4c3194..4de6cbf7 100644 --- a/docs/Classes/Queue.html +++ b/docs/Classes/Queue.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Classes/Reachability.html b/docs/Classes/Reachability.html index 9a3259fb..12d02f95 100644 --- a/docs/Classes/Reachability.html +++ b/docs/Classes/Reachability.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Classes/Request.html b/docs/Classes/Request.html index 5dc2624d..bc08efe4 100644 --- a/docs/Classes/Request.html +++ b/docs/Classes/Request.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
+ + +
+
+ + +
+ +

Helpers +

+
+
+
diff --git a/docs/Classes/Router.html b/docs/Classes/Router.html index 8b4abfd5..92eb7145 100644 --- a/docs/Classes/Router.html +++ b/docs/Classes/Router.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Classes/Transformer.html b/docs/Classes/Transformer.html index 74b1908c..1c45fa11 100644 --- a/docs/Classes/Transformer.html +++ b/docs/Classes/Transformer.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Enums.html b/docs/Enums.html index cdee19cd..3e3594fb 100644 --- a/docs/Enums.html +++ b/docs/Enums.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Enums/InterceptionAction.html b/docs/Enums/InterceptionAction.html index 3c0d1435..1b2c59b2 100644 --- a/docs/Enums/InterceptionAction.html +++ b/docs/Enums/InterceptionAction.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Enums/Method.html b/docs/Enums/Method.html index c93d8f30..d5ae09c6 100644 --- a/docs/Enums/Method.html +++ b/docs/Enums/Method.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Enums/MultipartFormDataPartType.html b/docs/Enums/MultipartFormDataPartType.html index da1ebbf4..51b9ec43 100644 --- a/docs/Enums/MultipartFormDataPartType.html +++ b/docs/Enums/MultipartFormDataPartType.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Enums/Path.html b/docs/Enums/Path.html index d0068451..c7a44c03 100644 --- a/docs/Enums/Path.html +++ b/docs/Enums/Path.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Enums/QueueFailureMode.html b/docs/Enums/QueueFailureMode.html index 68a5cb93..aeb9a484 100644 --- a/docs/Enums/QueueFailureMode.html +++ b/docs/Enums/QueueFailureMode.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Enums/ReachabilityState.html b/docs/Enums/ReachabilityState.html index 9640f68b..9af060db 100644 --- a/docs/Enums/ReachabilityState.html +++ b/docs/Enums/ReachabilityState.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Enums/RequestBodyType.html b/docs/Enums/RequestBodyType.html index c9b1b910..6a6c1f3e 100644 --- a/docs/Enums/RequestBodyType.html +++ b/docs/Enums/RequestBodyType.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
diff --git a/docs/Enums/TNError.html b/docs/Enums/TNError.html index c65c398a..810243bc 100644 --- a/docs/Enums/TNError.html +++ b/docs/Enums/TNError.html @@ -21,9 +21,9 @@

- TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

@@ -149,6 +149,9 @@ +
  • @@ -476,7 +479,7 @@

    Declaration

    Declaration

    Swift

    -
    case cancelled(Error)
    +
    case cancelled(Error?)
    @@ -845,7 +848,7 @@

    Declaration

  • diff --git a/docs/Enums/URLScheme.html b/docs/Enums/URLScheme.html index 783a5227..ec201384 100644 --- a/docs/Enums/URLScheme.html +++ b/docs/Enums/URLScheme.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/Extensions.html b/docs/Extensions.html index 59a1aecf..8b016daa 100644 --- a/docs/Extensions.html +++ b/docs/Extensions.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/Extensions/Data.html b/docs/Extensions/Data.html index 50bfbfff..9cf276ce 100644 --- a/docs/Extensions/Data.html +++ b/docs/Extensions/Data.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/Extensions/Decodable.html b/docs/Extensions/Decodable.html index 42015f50..1275b5ac 100644 --- a/docs/Extensions/Decodable.html +++ b/docs/Extensions/Decodable.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/Protocols.html b/docs/Protocols.html index e291ed42..433cdc18 100644 --- a/docs/Protocols.html +++ b/docs/Protocols.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    +
  • +
    + + + + TransformerProtocol + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol TransformerProtocol : NSObject
    + +
    +
    +
    +
    +
  • @@ -353,7 +384,7 @@

    Declaration

    diff --git a/docs/Protocols/EnvironmentProtocol.html b/docs/Protocols/EnvironmentProtocol.html index 5e09f8a2..a3179ac4 100644 --- a/docs/Protocols/EnvironmentProtocol.html +++ b/docs/Protocols/EnvironmentProtocol.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
  • + + + +
    +
    + + +
    + +

    Helpers +

    +
    +
    +
      +
    • + +
      +
      +
      +
      +
      +

      Checks if the task has been cancelled and throws an Error in that case.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      func checkTaskCancellation() throws
      + +
      +
      +
      +
      +
    • @@ -2730,7 +2773,7 @@

      Parameters

      diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/RouteConfiguration.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/RouteConfiguration.html index 5e593bf5..f8c380fa 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/RouteConfiguration.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/RouteConfiguration.html @@ -21,9 +21,9 @@

      - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

      @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/Router.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/Router.html index 8b4abfd5..92eb7145 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/Router.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/Router.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/Transformer.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/Transformer.html index 74b1908c..1c45fa11 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/Transformer.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Classes/Transformer.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums.html index cdee19cd..3e3594fb 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/InterceptionAction.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/InterceptionAction.html index 3c0d1435..1b2c59b2 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/InterceptionAction.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/InterceptionAction.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/Method.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/Method.html index c93d8f30..d5ae09c6 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/Method.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/Method.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/MultipartFormDataPartType.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/MultipartFormDataPartType.html index da1ebbf4..51b9ec43 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/MultipartFormDataPartType.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/MultipartFormDataPartType.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/Path.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/Path.html index d0068451..c7a44c03 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/Path.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/Path.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/QueueFailureMode.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/QueueFailureMode.html index 68a5cb93..aeb9a484 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/QueueFailureMode.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/QueueFailureMode.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/ReachabilityState.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/ReachabilityState.html index 9640f68b..9af060db 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/ReachabilityState.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/ReachabilityState.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/RequestBodyType.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/RequestBodyType.html index c9b1b910..6a6c1f3e 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/RequestBodyType.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/RequestBodyType.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/TNError.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/TNError.html index c65c398a..810243bc 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/TNError.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/TNError.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
  • @@ -476,7 +479,7 @@

    Declaration

    Declaration

    Swift

    -
    case cancelled(Error)
    +
    case cancelled(Error?)
    @@ -845,7 +848,7 @@

    Declaration

  • diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/URLScheme.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/URLScheme.html index 783a5227..ec201384 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/URLScheme.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Enums/URLScheme.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions.html index 59a1aecf..8b016daa 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions/Data.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions/Data.html index 50bfbfff..9cf276ce 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions/Data.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions/Data.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions/Decodable.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions/Decodable.html index 42015f50..1275b5ac 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions/Decodable.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Extensions/Decodable.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Protocols.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Protocols.html index e291ed42..433cdc18 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Protocols.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
    +
  • +
    + + + + TransformerProtocol + +
    +
    +
    +
    +
    +
    +

    Undocumented

    + + See more +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public protocol TransformerProtocol : NSObject
    + +
    +
    +
    +
    +
  • @@ -353,7 +384,7 @@

    Declaration

    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Protocols/EnvironmentProtocol.html b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Protocols/EnvironmentProtocol.html index 5e09f8a2..a3179ac4 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Protocols/EnvironmentProtocol.html +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/Protocols/EnvironmentProtocol.html @@ -21,9 +21,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -149,6 +149,9 @@ +
  • Queue Hooks
  • Error Handling
  • +
  • Cancelling a Request
  • Reachability
  • Transformers
  • Mock responses
  • @@ -312,16 +316,16 @@

    Installation

    CocoaPods

    Add the following line to your Podfile and run pod install in your terminal:

    -
    pod 'TermiNetwork', '~> 3.0.0'
    +
    pod 'TermiNetwork', '~> 3.2.0'
     

    Carthage

    Add the following line to your Carthage and run carthage update in your terminal:

    -
    github "billp/TermiNetwork" ~> 3.0.0
    +
    github "billp/TermiNetwork" ~> 3.2.0
     

    Swift Package Manager

    -

    Go to File > Swift Packages > Add Package Dependency and add the following URL :

    +

    Go to File > Swift Packages > Add Package Dependency and add the following URL:

    https://github.com/billp/TermiNetwork
     
    @@ -420,6 +424,22 @@

    Make a request

    }
    +

    or with async await

    +
    do {
    +    let toto: Todo = Router<TodosRoute>()
    +    .request(for: .add(title: "Go shopping!"))
    +    .async()
    +} catch let error {
    +    print(error.localizedDescription)
    +}
    +
    +

    Queue Hooks

    @@ -555,7 +585,7 @@

    Example

    Router<TodosRoute>().request(for: .add(title: "Go shopping!"))
           .success(responseType: Todo.self) { todo in
              // do something with todo
    -      },
    +      }
           .failure: { error in
               switch error {
               case .notSuccess(let statusCode):
    @@ -564,14 +594,77 @@ 

    Example

    case .networkError(let error): debugPrint("Network error: " + error.localizedDescription) break - case .cancelled(let error): - debugPrint("Request cancelled with error: " + error.localizedDescription) + case .cancelled: + debugPrint("Request cancelled") break default: debugPrint("Error: " + error.localizedDescription) }
    +

    or with async await

    +
    do {
    +    let todo: Todo = Router<TodosRoute>()
    +    .request(for: .add(title: "Go shopping!"))
    +    .async()
    +} catch let error {
    +    switch error as? TNError {
    +    case .notSuccess(let statusCode, _):
    +     debugPrint("Status code " + String(statusCode))
    +     break
    +    case .networkError(let error):
    +     debugPrint("Network error: " + error.localizedDescription)
    +     break
    +    case .cancelled:
    +     debugPrint("Request cancelled")
    +     break
    +    default:
    +     debugPrint("Error: " + error.localizedDescription)
    + }
    +
    + +

    +

    Cancelling a request

    + +

    You can cancel a request that is executing by calling the .cancel() method.

    +

    Example

    +
    let params = ["title": "Go shopping."]
    +let headers = ["x-auth": "abcdef1234"]
    +
    +let request = Request(method: .get, 
    +          url: "https://myweb.com/api/todos", 
    +          headers: headers, 
    +          params: params)
    +
    +
    +request.success(responseType: Todo.self) { todos in
    +    print(todos)
    +}
    +.failure { error in
    +    print(error.localizedDescription)
    +}
    +
    +request.cancel()
    +
    + +

    or with async await:

    +
    
    +let task = Task {
    +    let request = Request(method: .get, 
    +    url: "https://myweb.com/api/todos", 
    +    headers: headers, 
    +    params: params)
    +    do {
    +        let todos: [Todo] = try await request.async()
    +        print(todos)
    +    } catch let error { 
    +        print(error.localizedDescription)
    +    }
    +}
    +
    +task.cancel()
    +
    +

    Reachability

    @@ -629,6 +722,21 @@

    Example

    }
    +

    or with async await

    +
    do {
    +    let cities = await Router<CityRoute>()
    +        .request(for: .cities)
    +        .async(using: CitiesTransformer.self)
    +} catch let error {
    +    switch error as? TNError {
    +    case .cancelled:
    +        break
    +    default:
    +        self.errorMessage = error.localizedDescription
    +    }
    +}
    +
    +

    Mock responses

    @@ -810,7 +918,7 @@

    License

    diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/search.json b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/search.json index 5ec9132b..e03da7c9 100644 --- a/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/search.json +++ b/docs/docsets/TermiNetwork.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:12TermiNetwork14MockDelayRangea":{"name":"MockDelayRange","abstract":"

    Type for mock delay randomizer.

    "},"Typealiases.html#/s:12TermiNetwork28BeforeQueueStartCallbackTypea":{"name":"BeforeQueueStartCallbackType","abstract":"

    Hook type for beforeAllRequestsCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork28AfterAllRequestsCallbackTypea":{"name":"AfterAllRequestsCallbackType","abstract":"

    Hook type for afterAllRequestsCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork29BeforeEachRequestCallbackTypea":{"name":"BeforeEachRequestCallbackType","abstract":"

    Hook type for beforeEachRequestCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork28AfterEachRequestCallbackTypea":{"name":"AfterEachRequestCallbackType","abstract":"

    Hook type for afterEachRequestCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork29ReachabilityUpdateClosureTypea":{"name":"ReachabilityUpdateClosureType","abstract":"

    Type for reachability monitoring updates

    "},"Typealiases.html#/s:12TermiNetwork9ImageTypea":{"name":"ImageType","abstract":"

    The Image type depending on platform: UIImage for iOS or NSImage for macOS.

    "},"Typealiases.html#/ImageType":{"name":"ImageType","abstract":"

    The Image type depending on platform: UIImage for iOS or NSImage for macOS.

    "},"Typealiases.html#/s:12TermiNetwork19ImagePreprocessTypea":{"name":"ImagePreprocessType","abstract":"

    Callback type for image preprocess used in UIImageView|NSImage|WKInterfaceImage and Image (SwiftUI) helpers

    "},"Typealiases.html#/s:12TermiNetwork25ImageOnFinishCallbackTypea":{"name":"ImageOnFinishCallbackType","abstract":"

    Callback type for image downloaded event.

    "},"Typealiases.html#/s:12TermiNetwork20ProgressCallbackTypea":{"name":"ProgressCallbackType","abstract":"

    Progress callback type

    "},"Typealiases.html#/s:12TermiNetwork15SuccessCallbacka":{"name":"SuccessCallback","abstract":"

    Custom type for success data task.

    "},"Typealiases.html#/s:12TermiNetwork26SuccessCallbackWithoutTypea":{"name":"SuccessCallbackWithoutType","abstract":"

    Custom type for success data task without type.

    "},"Typealiases.html#/s:12TermiNetwork23DownloadSuccessCallbacka":{"name":"DownloadSuccessCallback","abstract":"

    Custom type for download success data task.

    "},"Typealiases.html#/s:12TermiNetwork15FailureCallbacka":{"name":"FailureCallback","abstract":"

    Custom type for failure data task."},"Typealiases.html#/s:12TermiNetwork26FailureCallbackWithoutTypea":{"name":"FailureCallbackWithoutType","abstract":"

    Custom type for failure data task without type.

    "},"Typealiases.html#/s:12TermiNetwork23FailureCallbackWithTypea":{"name":"FailureCallbackWithType","abstract":"

    Custom type for failure data task with custom type.

    "},"Structs/Image.html#/s:12TermiNetwork5ImageV4bodyQrvp":{"name":"body","abstract":"

    Main body

    ","parent_name":"Image"},"Structs/Image.html#/s:12TermiNetwork5ImageV3url13configuration07defaultC08resizeTo010preprocessC08onFinishACSS_AA13ConfigurationCSgSo7NSImageCSgSo6CGSizeVSgA2NcSgyAO_AA7TNErrorOSgtcSgtcfc":{"name":"init(url:configuration:defaultImage:resizeTo:preprocessImage:onFinish:)","abstract":"

    Download a remote image with the specified url.

    ","parent_name":"Image"},"Structs/Image.html#/s:12TermiNetwork5ImageV7request07defaultC08resizeTo010preprocessC08onFinishAcA7RequestC_So7NSImageCSgSo6CGSizeVSgA2LcSgyAM_AA7TNErrorOSgtcSgtcfc":{"name":"init(request:defaultImage:resizeTo:preprocessImage:onFinish:)","abstract":"

    Download a remote image with the specified url.

    ","parent_name":"Image"},"Structs/Image.html":{"name":"Image","abstract":"

    Image is a SwiftUI component for downloading images.

    "},"Protocols/RouteProtocol.html#/s:12TermiNetwork13RouteProtocolP9configureAA0C13ConfigurationCyF":{"name":"configure()","abstract":"

    Configure your router by setting this function. See Examples/Routers/CityRoute.swift for an example.

    ","parent_name":"RouteProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP13processParams4withSDySSypSgGSgAH_tKF":{"name":"processParams(with:)","abstract":"

    Processes body params before they are sent to server.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP15processResponse4with10Foundation4DataVSgAI_tKF":{"name":"processResponse(with:)","abstract":"

    Processes response data after they have been received.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP24processHeadersBeforeSend4withSDyS2SGSgAG_tKF":{"name":"processHeadersBeforeSend(with:)","abstract":"

    Processes the response headers before they are sent to server.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP26processHeadersAfterReceive4withSDyS2SGSgAG_tKF":{"name":"processHeadersAfterReceive(with:)","abstract":"

    Processes response headers after they have been received.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolPxycfc":{"name":"init()","abstract":"

    Required initializer

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/InterceptorProtocol.html#/s:12TermiNetwork19InterceptorProtocolP15requestFinished12responseData5error0E07proceedy10Foundation0H0VSg_AA7TNErrorOSgAA7RequestCyAA18InterceptionActionOctF":{"name":"requestFinished(responseData:error:request:proceed:)","abstract":"

    This function is called when a request is failed.

    ","parent_name":"InterceptorProtocol"},"Protocols/InterceptorProtocol.html#/s:12TermiNetwork19InterceptorProtocolPxycfc":{"name":"init()","abstract":"

    Default initializer

    ","parent_name":"InterceptorProtocol"},"Protocols/EnvironmentProtocol.html#/s:12TermiNetwork19EnvironmentProtocolP9configureAA0C0CyF":{"name":"configure()","abstract":"

    Thus is required in order to construct the url of the request.

    ","parent_name":"EnvironmentProtocol"},"Protocols/EnvironmentProtocol.html":{"name":"EnvironmentProtocol","abstract":"

    This protocol should be inhereted by the Environment enum.

    "},"Protocols/InterceptorProtocol.html":{"name":"InterceptorProtocol","abstract":"

    Use this protocol to create interceptors that can be passed to Configuration instances."},"Protocols/RequestMiddlewareProtocol.html":{"name":"RequestMiddlewareProtocol","abstract":"

    This protocol is used to register a middleware in order to modify body and headers of a request. (e.g. it can be"},"Protocols/RouteProtocol.html":{"name":"RouteProtocol","abstract":"

    Use this protocol to define routers as enums.

    "},"Extensions/Decodable.html#/s:Se12TermiNetworkE9transform4withqd_0_AA11TransformerCyqd__qd_0_G_tKr0_lF":{"name":"transform(with:)","abstract":"

    Transforms the decodable object with the specified transformer.

    ","parent_name":"Decodable"},"Extensions/Data.html#/s:10Foundation4DataV12TermiNetworkE19deserializeJSONData23withKeyDecodingStrategyxAA11JSONDecoderC0hiJ0OSg_tKSeRzlF":{"name":"deserializeJSONData(withKeyDecodingStrategy:)","abstract":"

    Deserializes the JSON Data to the given type.

    ","parent_name":"Data"},"Extensions/Data.html#/s:10Foundation4DataV12TermiNetworkE12toJSONStringSSSgyF":{"name":"toJSONString()","abstract":"

    Creates a JSON string (pretty printed) from Data.

    ","parent_name":"Data"},"Extensions/Data.html":{"name":"Data","abstract":"

    Data extension for JSON deserialization.

    "},"Extensions/Decodable.html":{"name":"Decodable","abstract":"

    Decodable extension for Transformers

    "},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO10invalidURLyA2CmF":{"name":"invalidURL","abstract":"

    Thrown when the url is not valid.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15environmenotSetyA2CmF":{"name":"environmenotSet","abstract":"

    Thrown when the environment is not set.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO13invalidParamsyA2CmF":{"name":"invalidParams","abstract":"

    Thrown when the params contain invalid characters.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO24responseInvalidImageDatayA2CmF":{"name":"responseInvalidImageData","abstract":"

    Thrown when the response object is expected to be a UIImage but it’s not.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO17cannotDeserializeyACSS_s5Error_ptcACmF":{"name":"cannotDeserialize(_:_:)","abstract":"

    Thrown when the given Codable type cannot be deserialized. It contains the className and the error about deserilization.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO21cannotConvertToStringyA2CmF":{"name":"cannotConvertToString","abstract":"

    Thrown when the response object is expected to be a String but it’s not.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO12networkErroryACs0E0_pcACmF":{"name":"networkError(_:)","abstract":"

    Thrown when a network error occured. It contains the NSURLError.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO10notSuccessyACSi_10Foundation4DataVtcACmF":{"name":"notSuccess(_:_:)","abstract":"

    Thrown when a request is not succeeded (it’s not 2xx). It contains the HTTP Status Code and the response Data.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO9cancelledyACs5Error_pcACmF":{"name":"cancelled(_:)","abstract":"

    Thrown when a request is cancelled.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO12pinningErroryA2CmF":{"name":"pinningError","abstract":"

    Thorwn when certificate pinning validation fails.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15invalidMockDatayACSScACmF":{"name":"invalidMockData(_:)","abstract":"

    Thrown when a request is mocked but the data is invalid (e.g. cannot parse JSON).

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15middlewareErroryACypcACmF":{"name":"middlewareError(_:)","abstract":"

    Thrown when a middleware reports an error. Throw this error in your custom middleware","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO22invalidMultipartParamsyA2CmF":{"name":"invalidMultipartParams","abstract":"

    Thrown when MultipartFormDataPartType param is expected but passed something else.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO14invalidFileURLyACSScACmF":{"name":"invalidFileURL(_:)","abstract":"

    Thrown when an invalid file path URL is passed on upload/download operations.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO27downloadedFileCannotBeSavedyACs5Error_pcACmF":{"name":"downloadedFileCannotBeSaved(_:)","abstract":"

    Thrown when the file cannot be saved to destination for some reason.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO25transformerNotImplementedyA2CmF":{"name":"transformerNotImplemented","abstract":"

    Thrown when the transform method is not implemented (overriden in subclass).

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO20transformationFailedyA2CmF":{"name":"transformationFailed","abstract":"

    Thrown when the transformation failed for some reason, e.g. Incompatible Types

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO22invalidCertificatePathyACSScACmF":{"name":"invalidCertificatePath(_:)","abstract":"

    Thrown when a certificate path is invalid.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO25cannotReadResponseHeadersyA2CmF":{"name":"cannotReadResponseHeaders","abstract":"

    Thrown when the response headers cannot be retrieved.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO13emptyResponseyA2CmF":{"name":"emptyResponse","abstract":"

    Thrown when the response is empty.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO17reachabilityErroryA2CmF":{"name":"reachabilityError","abstract":"

    Thrown the reachability core function call cannot be itialized.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO20localizedDescriptionSSSgvp":{"name":"localizedDescription","abstract":"

    A localized description for TNError.

    ","parent_name":"TNError"},"Enums/Method.html#/s:12TermiNetwork6MethodO3getyA2CmF":{"name":"get","abstract":"

    GET request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO4headyA2CmF":{"name":"head","abstract":"

    HEAD request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO4postyA2CmF":{"name":"post","abstract":"

    POST request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO3putyA2CmF":{"name":"put","abstract":"

    PUT request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO6deleteyA2CmF":{"name":"delete","abstract":"

    DELETE request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO7connectyA2CmF":{"name":"connect","abstract":"

    CONNECT request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO7optionsyA2CmF":{"name":"options","abstract":"

    OPTIONS request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO5traceyA2CmF":{"name":"trace","abstract":"

    TRACE request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO5patchyA2CmF":{"name":"patch","abstract":"

    PATCH request method.

    ","parent_name":"Method"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO4wifiyA2CmF":{"name":"wifi","abstract":"

    WIFI state.

    ","parent_name":"ReachabilityState"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO8cellularyA2CmF":{"name":"cellular","abstract":"

    Cellular state.

    ","parent_name":"ReachabilityState"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO11unavailableyA2CmF":{"name":"unavailable","abstract":"

    Unavailable state.

    ","parent_name":"ReachabilityState"},"Enums/QueueFailureMode.html#/s:12TermiNetwork16QueueFailureModeO9cancelAllyA2CmF":{"name":"cancelAll","abstract":"

    Cancels the execution of the queue after a request (operation) fails

    ","parent_name":"QueueFailureMode"},"Enums/QueueFailureMode.html#/s:12TermiNetwork16QueueFailureModeO8continueyA2CmF":{"name":"continue","abstract":"

    Continues the execution of the queue after a request (operation) fails

    ","parent_name":"QueueFailureMode"},"Enums/InterceptionAction.html#/s:12TermiNetwork18InterceptionActionO8continueyA2CmF":{"name":"continue","abstract":"

    Continue with the next interceptor or final callbacks if there is no other interceptor in chain.

    ","parent_name":"InterceptionAction"},"Enums/InterceptionAction.html#/s:12TermiNetwork18InterceptionActionO5retryyACSdSg_tcACmF":{"name":"retry(delay:)","abstract":"

    Retry the request

    ","parent_name":"InterceptionAction"},"Enums/Path.html#/s:12TermiNetwork4PathO09convertedC0SSvp":{"name":"convertedPath","abstract":"

    Returns the constructed path as String based on .path components.

    ","parent_name":"Path"},"Enums/Path.html#/s:12TermiNetwork4PathO4pathyACSaySSGcACmF":{"name":"path(_:)","abstract":"

    An enum case that can be used where path is needed. For example: .path([“user”, “1”, “details”]).","parent_name":"Path"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO5valueyACSS_tcACmF":{"name":"value(value:)","abstract":"

    Simple key-value case.

    ","parent_name":"MultipartFormDataPartType"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO4datayAC10Foundation0E0V_SSSgAHtcACmF":{"name":"data(data:filename:contentType:)","abstract":"

    Data case with filename and content-type.

    ","parent_name":"MultipartFormDataPartType"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO3urlyAC10Foundation3URLVcACmF":{"name":"url(_:)","abstract":"

    File URL case.

    ","parent_name":"MultipartFormDataPartType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO18xWWWFormURLEncodedyA2CmF":{"name":"xWWWFormURLEncoded","abstract":"

    The request params are sent as application/x-www-form-urlencoded mime type

    ","parent_name":"RequestBodyType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO4JSONyA2CmF":{"name":"JSON","abstract":"

    The request params are sent as application/json mime type

    ","parent_name":"RequestBodyType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO17multipartFormDatayACSS_tcACmF":{"name":"multipartFormData(boundary:)","abstract":"

    Type for multipart/form-data body by giving the boundary as String. Typically you don’t have to set it manually","parent_name":"RequestBodyType"},"Enums/URLScheme.html#/s:12TermiNetwork9URLSchemeO4httpyA2CmF":{"name":"http","abstract":"

    HTTP Schema.

    ","parent_name":"URLScheme"},"Enums/URLScheme.html#/s:12TermiNetwork9URLSchemeO5httpsyA2CmF":{"name":"https","abstract":"

    HTTPS Schema.

    ","parent_name":"URLScheme"},"Enums/URLScheme.html":{"name":"URLScheme","abstract":"

    The url scheme that will be used in an environment.

    "},"Enums/RequestBodyType.html":{"name":"RequestBodyType","abstract":"

    The body type of the request

    "},"Enums/MultipartFormDataPartType.html":{"name":"MultipartFormDataPartType","abstract":"

    Enum to specify multipart/form-data parameters that can be used in upload tasks.

    "},"Enums/Path.html":{"name":"Path","abstract":"

    URL path representation based on String components.

    "},"Enums/InterceptionAction.html":{"name":"InterceptionAction","abstract":"

    This will be used in interceptor callback as an action to inteceptors chain.

    "},"Enums/QueueFailureMode.html":{"name":"QueueFailureMode","abstract":"

    Type that specifies the behavior of the queue when a request fails

    "},"Enums/ReachabilityState.html":{"name":"ReachabilityState","abstract":"

    Reachability State Type

    "},"Enums/Method.html":{"name":"Method","abstract":"

    The HTTP request method based on specification of https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html.

    "},"Enums/TNError.html":{"name":"TNError","abstract":"

    Custom error definition.

    "},"Classes/Router.html#/s:12TermiNetwork6RouterC13configurationAA13ConfigurationCSgvp":{"name":"configuration","abstract":"

    Router configuration

    ","parent_name":"Router"},"Classes/Router.html#/s:12TermiNetwork6RouterC11environment13configurationACyxGAA19EnvironmentProtocol_pSg_AA13ConfigurationCSgtcfc":{"name":"init(environment:configuration:)","abstract":"

    Initialize with environment that overrides the one set by Environment.set(_).

    ","parent_name":"Router"},"Classes/Router.html#/s:12TermiNetwork6RouterC7request3forAA7RequestCx_tF":{"name":"request(for:)","abstract":"

    Returns a Request that can be used later, e.g. for starting the request in a later time or canceling it.

    ","parent_name":"Router"},"Classes/RouteConfiguration.html#/s:12TermiNetwork18RouteConfigurationC6method4path6params7headers13configuration12mockFilePathAcA6MethodO_AA0L0OSDySSypSgGSgSDyS2SGSgAA0D0CSgAMSgtcfc":{"name":"init(method:path:params:headers:configuration:mockFilePath:)","abstract":"

    Route configuration initializer

    ","parent_name":"RouteConfiguration"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC8hostnameACSSSg_tcfc":{"name":"init(hostname:)","abstract":"

    Reachability initializer.

    ","parent_name":"Reachability"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC12monitorStateyyyAA0cE0OcSgKF":{"name":"monitorState(_:)","abstract":"

    Starts monitoring network state updates.

    ","parent_name":"Reachability"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC14stopMonitoringyyF":{"name":"stopMonitoring()","abstract":"

    Stops monitoring network state updates.

    ","parent_name":"Reachability"},"Classes/Queue.html#/s:12TermiNetwork5QueueC6sharedACvpZ":{"name":"shared","abstract":"

    The default queue of TermiNetwork used in all Request objects.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC25beforeAllRequestsCallbackyycSgvp":{"name":"beforeAllRequestsCallback","abstract":"

    A closure to be executed before the queue starts executing its requests.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC24afterAllRequestsCallbackySbcSgvp":{"name":"afterAllRequestsCallback","abstract":"

    A closure to be executed after the queue finishes the execution of all its requests.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC25beforeEachRequestCallbackyAA0F0CcSgvp":{"name":"beforeEachRequestCallback","abstract":"

    A closure to be executed before a request execution in queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC24afterEachRequestCallbackyAA0F0C_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcSgvp":{"name":"afterEachRequestCallback","abstract":"

    A closure to be executed after a request finishes its execution in queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC11failureModeAcA0c7FailureE0O_tcfc":{"name":"init(failureMode:)","abstract":"

    Initializes a new queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/c:@M@TermiNetwork@objc(cs)Queue(im)addOperation:":{"name":"addOperation(_:)","abstract":"

    Adds a Request instance into queue.

    ","parent_name":"Queue"},"Classes/Operation.html#/c:@M@TermiNetwork@objc(cs)Operation(py)executing":{"name":"isExecuting","abstract":"

    Overrides the default isExecuting variable inherited from Operation.

    ","parent_name":"Operation"},"Classes/Operation.html#/c:@M@TermiNetwork@objc(cs)Operation(py)finished":{"name":"isFinished","abstract":"

    Overrides the default isFinished variable inherited from Operation.

    ","parent_name":"Operation"},"Classes/Request.html#/s:12TermiNetwork7RequestC13configurationAA13ConfigurationCvp":{"name":"configuration","abstract":"

    The configuration of the request. This will be merged with the environment configuration if needed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC10retryCountSivp":{"name":"retryCount","abstract":"

    The number of the retries initiated by interceptor.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11environmentAA11EnvironmentCSgvp":{"name":"environment","abstract":"

    The environment of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC16associatedObjectyXlSgvp":{"name":"associatedObject","abstract":"

    An associated object with the request. Use this variable to optionaly assign an object to it, for later use.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7headersSDyS2SGSgvp":{"name":"headers","abstract":"

    The headers of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6paramsSDySSypSgGSgvp":{"name":"params","abstract":"

    The parameters of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC9mockDelaySdSgvp":{"name":"mockDelay","abstract":"

    The random delay for mocked responses that is generated by TermiNetwork (readonly)

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6method3url7headers6params13configurationAcA6MethodO_SSSDyS2SGSgSDySSypSgGSgAA13ConfigurationCSgtcfc":{"name":"init(method:url:headers:params:configuration:)","abstract":"

    Initializes a Request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5route11environmentAcA13RouteProtocol_p_AA11EnvironmentCSgtcfc":{"name":"init(route:environment:)","abstract":"

    Initializes a Request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC02asC010Foundation10URLRequestVyKF":{"name":"asRequest()","abstract":"

    Converts a Request instance an URLRequest instance.

    ","parent_name":"Request"},"Classes/Request.html#/c:@M@TermiNetwork@objc(cs)Request(im)cancel":{"name":"cancel()","abstract":"

    Cancels a request

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5queueyAcA5QueueCF":{"name":"queue(_:)","abstract":"

    Set the queue in which the request will be executed.

    ","parent_name":"Request"},"Classes/Request.html#/c:@M@TermiNetwork@objc(cs)Request(im)start":{"name":"start()","abstract":"

    Overrides the start() function from Operation class.","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure15responseHandlerACyAA7TNErrorOc_tF":{"name":"failure(responseHandler:)","abstract":"

    Executed when the request is failed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACxm_yxctSeRzlF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerACxm_yxSg_AA7TNErrorOtctSeRzlF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being deserialized if possible, nil otherwise.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success11transformer15responseHandlerAcA11TransformerCyxq_Gm_yq_ctSeRzr0_lF":{"name":"success(transformer:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully transformed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure11transformer15responseHandlerAcA11TransformerCyxq_Gm_yq_Sg_AA7TNErrorOtctSeRzr0_lF":{"name":"failure(transformer:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being transformed to ToType if","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACSo7NSImageCm_yAHctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is a valid Image.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACSSm_ySSctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is a valid String.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerACSSm_ySSSg_AA7TNErrorOtctF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being converted to String value if possible.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerAC10Foundation4DataVm_yAIctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerAC10Foundation4DataVm_yAISg_AA7TNErrorOtctF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being converted to Data value if possible.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerACxm_ySi_SiSftcSgyxctSeRzlF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the upload request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload11transformer14progressUpdate15responseHandlerAcA11TransformerCyxq_Gm_ySi_SiSftcSgyq_ctSeRzr0_lF":{"name":"upload(transformer:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully transformed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerACSSm_ySi_SiSftcSgySSctF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is String type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerAC10Foundation4DataVm_ySi_SiSftcSgyAJctF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC8download15destinationPath14progressUpdate17completionHandlerACSS_ySi_SiSftcSgyyctF":{"name":"download(destinationPath:progressUpdate:completionHandler:)","abstract":"

    Executed when the download request is succeeded.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload2as14progressUpdatexxm_ySi_SiSftcSgtYaKSeRzlF":{"name":"asyncUpload(as:progressUpdate:)","abstract":"

    Executed when the upload request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload5using14progressUpdateq_AA11TransformerCyxq_Gm_ySi_SiSftcSgtYaKSeRzr0_lF":{"name":"asyncUpload(using:progressUpdate:)","abstract":"

    Executes an asynchronous upload request and returns the decodable type based on transformer.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUplaod2as14progressUpdateS2Sm_ySi_SiSftcSgtYaKF":{"name":"asyncUplaod(as:progressUpdate:)","abstract":"

    Executed when the request is succeeded and the response is String type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload2as14progressUpdate10Foundation4DataVAIm_ySi_SiSftcSgtYaKF":{"name":"asyncUpload(as:progressUpdate:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC13asyncDownload15destinationPath14progressUpdateySS_ySi_SiSftcSgtYaKF":{"name":"asyncDownload(destinationPath:progressUpdate:)","abstract":"

    Executes an asynchronous download request and returns by throwing and error if it fails.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asxxm_tYaKSeRzlF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the inferred decodable type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5asyncxyYaKSeRzlF":{"name":"async()","abstract":"

    Executes an asynchronous request and returns the inferred decodable type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asS2Sm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as String.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2as10Foundation4DataVAHm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as Data.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asSo7NSImageCAGm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as Image.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async5usingq_AA11TransformerCyxq_Gm_tYaKSeRzr0_lF":{"name":"async(using:)","abstract":"

    Executes an asynchronous request and returns the decodable type based on transformer.

    ","parent_name":"Request"},"Classes/Request.html#/c:@CM@TermiNetwork@objc(cs)Request(im)copyWithZone:":{"name":"copy(with:)","abstract":"

    Clones a Request instance.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC15responseHeadersyACXDySDyS2SGSg_AA7TNErrorOSgtcF":{"name":"responseHeaders(_:)","abstract":"

    Reads the response headers from request after its completion.

    ","parent_name":"Request"},"Classes/Transformer.html#/s:12TermiNetwork11TransformerC9transformyq_xKF":{"name":"transform(_:)","abstract":"

    This is the default transform method. This method should be overriden by subclass

    ","parent_name":"Transformer"},"Classes/Transformer.html#/s:12TermiNetwork11TransformerCACyxq_Gycfc":{"name":"init()","abstract":"

    Default initializer

    ","parent_name":"Transformer"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC13configurationAA13ConfigurationCSgvp":{"name":"configuration","abstract":"

    The configuration object.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC7currentACSgvpZ":{"name":"current","abstract":"

    The current global environment. Use this property to set your environment globally.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3setyyAA0C8Protocol_pFZ":{"name":"set(_:)","abstract":"

    Set a global environment for TermiNetwork.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3set17environmentObjectyAC_tFZ":{"name":"set(environmentObject:)","abstract":"

    Set a global environment for TermiNetwork with a given environment object.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC6scheme4host6suffix4port13configurationAcA9URLSchemeO_SSAA4PathOSgSiSgAA13ConfigurationCSgtcfc":{"name":"init(scheme:host:suffix:port:configuration:)","abstract":"

    Initializes an environment.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3url13configurationACSS_AA13ConfigurationCSgtcfc":{"name":"init(url:configuration:)","abstract":"

    Initializes an environment with an URL string.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC9stringURLSSvp":{"name":"stringURL","abstract":"

    Get the String value of the environment.

    ","parent_name":"Environment"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC11cachePolicySo017NSURLRequestCacheE0VSgvp":{"name":"cachePolicy","abstract":"

    The cache policy of the request.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15timeoutIntervalSdSgvp":{"name":"timeoutInterval","abstract":"

    The timeout interval of the request.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15requestBodyTypeAA07RequesteF0OSgvp":{"name":"requestBodyType","abstract":"

    The request body type of the request. Can be either .xWWWFormURLEncoded or .JSON.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC16certificatePathsSaySSGSgvp":{"name":"certificatePaths","abstract":"

    The certificate file paths used for certificate pining.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC7verboseSbSgvp":{"name":"verbose","abstract":"

    Enables or disables debug mode.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC7headersSDyS2SGSgvp":{"name":"headers","abstract":"

    Additional headers of the request. They will be merged with the headers specified in RouteConfiguration.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC14mockDataBundleSo8NSBundleCSgvp":{"name":"mockDataBundle","abstract":"

    The Bundle object of mock data used when useMockData is true.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15mockDataEnabledSbSgvp":{"name":"mockDataEnabled","abstract":"

    Enables or disables request mocking.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC9mockDelaySd3min_Sd3maxtSgvp":{"name":"mockDelay","abstract":"

    Specifies a delay when mock data is used.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC19keyDecodingStrategy10Foundation11JSONDecoderC03KeyeF0OSgvp":{"name":"keyDecodingStrategy","abstract":"

    Specifies a key decoding strategy. Take a look","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC12interceptorsSayAA19InterceptorProtocol_pXpGSgvp":{"name":"interceptors","abstract":"

    Error handlers that will be used as a fallback after request failure.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC17requestMiddlewareSayAA07RequestE8Protocol_pXpGSgvp":{"name":"requestMiddleware","abstract":"

    Request middleware

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC11cachePolicy15timeoutInterval15requestBodyType16certificatePaths7verbose7headers14mockDataBundle0oP7Enabled0O5Delay19keyDecodingStrategy12interceptors0H10MiddlewareACSo017NSURLRequestCacheE0VSg_SdSgAA07RequestiJ0OSgSaySSGSgSbSgSDyS2SGSgSo8NSBundleCSgAYSd3min_Sd3maxtSg10Foundation11JSONDecoderC03KeyuV0OSgSayAA19InterceptorProtocol_pXpGSgSayAA07RequestX8Protocol_pXpGSgtcfc":{"name":"init(cachePolicy:timeoutInterval:requestBodyType:certificatePaths:verbose:headers:mockDataBundle:mockDataEnabled:mockDelay:keyDecodingStrategy:interceptors:requestMiddleware:)","abstract":"

    Default initializer of Configuration

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC4copy4withyp10ObjectiveC6NSZoneVSg_tF":{"name":"copy(with:)","abstract":"

    NSCopying implementation, used for cloning Configuration objects.

    ","parent_name":"Configuration"},"Classes/Cache.html#/s:12TermiNetwork5CacheC6sharedACvpZ":{"name":"shared","abstract":"

    Singleton object.

    ","parent_name":"Cache"},"Classes/Cache.html#/s:12TermiNetwork5CacheC09configureC010countLimit4sizeySi_SitF":{"name":"configureCache(countLimit:size:)","abstract":"

    Configures the cache.

    ","parent_name":"Cache"},"Classes/Cache.html#/s:12TermiNetwork5CacheC05clearC0yyF":{"name":"clearCache()","abstract":"

    Clears cache.

    ","parent_name":"Cache"},"Classes/Cache.html":{"name":"Cache","abstract":"

    Cache is used internally for various tasks such as in-memory caching image data."},"Classes/Configuration.html":{"name":"Configuration","abstract":"

    A configuration class that can be used with Environment, Router, Route and Request."},"Classes/Environment.html":{"name":"Environment","abstract":"

    The Environment contains information about host, port, configuration and it’s used in Request instances.

    "},"Classes/Transformer.html":{"name":"Transformer","abstract":"

    Inherit this class as to create your transformers."},"Classes/Request.html":{"name":"Request","abstract":"

    The core class of TermiNetwork. It handles the request creation and its execution.

    "},"Classes/Operation.html":{"name":"Operation","abstract":"

    This class is inherited by Request to control the execution of the request.

    "},"Classes/Queue.html":{"name":"Queue","abstract":"

    Use this class to create custom queues.

    "},"Classes/Reachability.html":{"name":"Reachability","abstract":"

    Adds Reachability supportt

    "},"Classes/RouteConfiguration.html":{"name":"RouteConfiguration","abstract":"

    Route configuration class which is used in Route protocol implementations.

    "},"Classes/Router.html":{"name":"Router","abstract":"

    This class is used to create instances of Router that can be used to start requests based on the given Route.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:12TermiNetwork14MockDelayRangea":{"name":"MockDelayRange","abstract":"

    Type for mock delay randomizer.

    "},"Typealiases.html#/s:12TermiNetwork28BeforeQueueStartCallbackTypea":{"name":"BeforeQueueStartCallbackType","abstract":"

    Hook type for beforeAllRequestsCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork28AfterAllRequestsCallbackTypea":{"name":"AfterAllRequestsCallbackType","abstract":"

    Hook type for afterAllRequestsCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork29BeforeEachRequestCallbackTypea":{"name":"BeforeEachRequestCallbackType","abstract":"

    Hook type for beforeEachRequestCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork28AfterEachRequestCallbackTypea":{"name":"AfterEachRequestCallbackType","abstract":"

    Hook type for afterEachRequestCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork29ReachabilityUpdateClosureTypea":{"name":"ReachabilityUpdateClosureType","abstract":"

    Type for reachability monitoring updates

    "},"Typealiases.html#/s:12TermiNetwork9ImageTypea":{"name":"ImageType","abstract":"

    The Image type depending on platform: UIImage for iOS or NSImage for macOS.

    "},"Typealiases.html#/ImageType":{"name":"ImageType","abstract":"

    The Image type depending on platform: UIImage for iOS or NSImage for macOS.

    "},"Typealiases.html#/s:12TermiNetwork19ImagePreprocessTypea":{"name":"ImagePreprocessType","abstract":"

    Callback type for image preprocess used in UIImageView|NSImage|WKInterfaceImage and Image (SwiftUI) helpers

    "},"Typealiases.html#/s:12TermiNetwork25ImageOnFinishCallbackTypea":{"name":"ImageOnFinishCallbackType","abstract":"

    Callback type for image downloaded event.

    "},"Typealiases.html#/s:12TermiNetwork20ProgressCallbackTypea":{"name":"ProgressCallbackType","abstract":"

    Progress callback type

    "},"Typealiases.html#/s:12TermiNetwork15SuccessCallbacka":{"name":"SuccessCallback","abstract":"

    Custom type for success data task.

    "},"Typealiases.html#/s:12TermiNetwork26SuccessCallbackWithoutTypea":{"name":"SuccessCallbackWithoutType","abstract":"

    Custom type for success data task without type.

    "},"Typealiases.html#/s:12TermiNetwork23DownloadSuccessCallbacka":{"name":"DownloadSuccessCallback","abstract":"

    Custom type for download success data task.

    "},"Typealiases.html#/s:12TermiNetwork15FailureCallbacka":{"name":"FailureCallback","abstract":"

    Custom type for failure data task."},"Typealiases.html#/s:12TermiNetwork26FailureCallbackWithoutTypea":{"name":"FailureCallbackWithoutType","abstract":"

    Custom type for failure data task without type.

    "},"Typealiases.html#/s:12TermiNetwork23FailureCallbackWithTypea":{"name":"FailureCallbackWithType","abstract":"

    Custom type for failure data task with custom type.

    "},"Structs/Image.html#/s:12TermiNetwork5ImageV4bodyQrvp":{"name":"body","abstract":"

    Main body

    ","parent_name":"Image"},"Structs/Image.html#/s:12TermiNetwork5ImageV3url13configuration07defaultC08resizeTo010preprocessC08onFinishACSS_AA13ConfigurationCSgSo7NSImageCSgSo6CGSizeVSgA2NcSgyAO_AA7TNErrorOSgtcSgtcfc":{"name":"init(url:configuration:defaultImage:resizeTo:preprocessImage:onFinish:)","abstract":"

    Download a remote image with the specified url.

    ","parent_name":"Image"},"Structs/Image.html#/s:12TermiNetwork5ImageV7request07defaultC08resizeTo010preprocessC08onFinishAcA7RequestC_So7NSImageCSgSo6CGSizeVSgA2LcSgyAM_AA7TNErrorOSgtcSgtcfc":{"name":"init(request:defaultImage:resizeTo:preprocessImage:onFinish:)","abstract":"

    Download a remote image with the specified url.

    ","parent_name":"Image"},"Structs/Image.html":{"name":"Image","abstract":"

    Image is a SwiftUI component for downloading images.

    "},"Protocols/RouteProtocol.html#/s:12TermiNetwork13RouteProtocolP9configureAA0C13ConfigurationCyF":{"name":"configure()","abstract":"

    Configure your router by setting this function. See Examples/Routers/CityRoute.swift for an example.

    ","parent_name":"RouteProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP13processParams4withSDySSypSgGSgAH_tKF":{"name":"processParams(with:)","abstract":"

    Processes body params before they are sent to server.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP15processResponse4with10Foundation4DataVSgAI_tKF":{"name":"processResponse(with:)","abstract":"

    Processes response data after they have been received.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP24processHeadersBeforeSend4withSDyS2SGSgAG_tKF":{"name":"processHeadersBeforeSend(with:)","abstract":"

    Processes the response headers before they are sent to server.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP26processHeadersAfterReceive4withSDyS2SGSgAG_tKF":{"name":"processHeadersAfterReceive(with:)","abstract":"

    Processes response headers after they have been received.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolPxycfc":{"name":"init()","abstract":"

    Required initializer

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/InterceptorProtocol.html#/s:12TermiNetwork19InterceptorProtocolP15requestFinished12responseData5error0E07proceedy10Foundation0H0VSg_AA7TNErrorOSgAA7RequestCyAA18InterceptionActionOctF":{"name":"requestFinished(responseData:error:request:proceed:)","abstract":"

    This function is called when a request is failed.

    ","parent_name":"InterceptorProtocol"},"Protocols/InterceptorProtocol.html#/s:12TermiNetwork19InterceptorProtocolPxycfc":{"name":"init()","abstract":"

    Default initializer

    ","parent_name":"InterceptorProtocol"},"Protocols/TransformerProtocol.html#/s:12TermiNetwork19TransformerProtocolP8FromTypeQa":{"name":"FromType","abstract":"

    Undocumented

    ","parent_name":"TransformerProtocol"},"Protocols/TransformerProtocol.html#/s:12TermiNetwork19TransformerProtocolP6ToTypeQa":{"name":"ToType","abstract":"

    Undocumented

    ","parent_name":"TransformerProtocol"},"Protocols/TransformerProtocol.html#/s:12TermiNetwork19TransformerProtocolP9transformy6ToTypeQz04FromG0QzKF":{"name":"transform(_:)","abstract":"

    Undocumented

    ","parent_name":"TransformerProtocol"},"Protocols/EnvironmentProtocol.html#/s:12TermiNetwork19EnvironmentProtocolP9configureAA0C0CyF":{"name":"configure()","abstract":"

    Thus is required in order to construct the url of the request.

    ","parent_name":"EnvironmentProtocol"},"Protocols/EnvironmentProtocol.html":{"name":"EnvironmentProtocol","abstract":"

    This protocol should be inhereted by the Environment enum.

    "},"Protocols/TransformerProtocol.html":{"name":"TransformerProtocol","abstract":"

    Undocumented

    "},"Protocols/InterceptorProtocol.html":{"name":"InterceptorProtocol","abstract":"

    Use this protocol to create interceptors that can be passed to Configuration instances."},"Protocols/RequestMiddlewareProtocol.html":{"name":"RequestMiddlewareProtocol","abstract":"

    This protocol is used to register a middleware in order to modify body and headers of a request. (e.g. it can be"},"Protocols/RouteProtocol.html":{"name":"RouteProtocol","abstract":"

    Use this protocol to define routers as enums.

    "},"Extensions/Decodable.html#/s:Se12TermiNetworkE9transform4withqd_0_AA11TransformerCyqd__qd_0_G_tKr0_lF":{"name":"transform(with:)","abstract":"

    Transforms the decodable object with the specified transformer.

    ","parent_name":"Decodable"},"Extensions/Data.html#/s:10Foundation4DataV12TermiNetworkE19deserializeJSONData23withKeyDecodingStrategyxAA11JSONDecoderC0hiJ0OSg_tKSeRzlF":{"name":"deserializeJSONData(withKeyDecodingStrategy:)","abstract":"

    Deserializes the JSON Data to the given type.

    ","parent_name":"Data"},"Extensions/Data.html#/s:10Foundation4DataV12TermiNetworkE12toJSONStringSSSgyF":{"name":"toJSONString()","abstract":"

    Creates a JSON string (pretty printed) from Data.

    ","parent_name":"Data"},"Extensions/Data.html":{"name":"Data","abstract":"

    Data extension for JSON deserialization.

    "},"Extensions/Decodable.html":{"name":"Decodable","abstract":"

    Decodable extension for Transformers

    "},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO10invalidURLyA2CmF":{"name":"invalidURL","abstract":"

    Thrown when the url is not valid.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15environmenotSetyA2CmF":{"name":"environmenotSet","abstract":"

    Thrown when the environment is not set.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO13invalidParamsyA2CmF":{"name":"invalidParams","abstract":"

    Thrown when the params contain invalid characters.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO24responseInvalidImageDatayA2CmF":{"name":"responseInvalidImageData","abstract":"

    Thrown when the response object is expected to be a UIImage but it’s not.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO17cannotDeserializeyACSS_s5Error_ptcACmF":{"name":"cannotDeserialize(_:_:)","abstract":"

    Thrown when the given Codable type cannot be deserialized. It contains the className and the error about deserilization.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO21cannotConvertToStringyA2CmF":{"name":"cannotConvertToString","abstract":"

    Thrown when the response object is expected to be a String but it’s not.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO12networkErroryACs0E0_pcACmF":{"name":"networkError(_:)","abstract":"

    Thrown when a network error occured. It contains the NSURLError.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO10notSuccessyACSi_10Foundation4DataVtcACmF":{"name":"notSuccess(_:_:)","abstract":"

    Thrown when a request is not succeeded (it’s not 2xx). It contains the HTTP Status Code and the response Data.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO9cancelledyACs5Error_pSgcACmF":{"name":"cancelled(_:)","abstract":"

    Thrown when a request is cancelled.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO12pinningErroryA2CmF":{"name":"pinningError","abstract":"

    Thorwn when certificate pinning validation fails.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15invalidMockDatayACSScACmF":{"name":"invalidMockData(_:)","abstract":"

    Thrown when a request is mocked but the data is invalid (e.g. cannot parse JSON).

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15middlewareErroryACypcACmF":{"name":"middlewareError(_:)","abstract":"

    Thrown when a middleware reports an error. Throw this error in your custom middleware","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO22invalidMultipartParamsyA2CmF":{"name":"invalidMultipartParams","abstract":"

    Thrown when MultipartFormDataPartType param is expected but passed something else.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO14invalidFileURLyACSScACmF":{"name":"invalidFileURL(_:)","abstract":"

    Thrown when an invalid file path URL is passed on upload/download operations.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO27downloadedFileCannotBeSavedyACs5Error_pcACmF":{"name":"downloadedFileCannotBeSaved(_:)","abstract":"

    Thrown when the file cannot be saved to destination for some reason.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO25transformerNotImplementedyA2CmF":{"name":"transformerNotImplemented","abstract":"

    Thrown when the transform method is not implemented (overriden in subclass).

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO20transformationFailedyA2CmF":{"name":"transformationFailed","abstract":"

    Thrown when the transformation failed for some reason, e.g. Incompatible Types

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO22invalidCertificatePathyACSScACmF":{"name":"invalidCertificatePath(_:)","abstract":"

    Thrown when a certificate path is invalid.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO25cannotReadResponseHeadersyA2CmF":{"name":"cannotReadResponseHeaders","abstract":"

    Thrown when the response headers cannot be retrieved.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO13emptyResponseyA2CmF":{"name":"emptyResponse","abstract":"

    Thrown when the response is empty.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO17reachabilityErroryA2CmF":{"name":"reachabilityError","abstract":"

    Thrown the reachability core function call cannot be itialized.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO20localizedDescriptionSSSgvp":{"name":"localizedDescription","abstract":"

    A localized description for TNError.

    ","parent_name":"TNError"},"Enums/Method.html#/s:12TermiNetwork6MethodO3getyA2CmF":{"name":"get","abstract":"

    GET request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO4headyA2CmF":{"name":"head","abstract":"

    HEAD request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO4postyA2CmF":{"name":"post","abstract":"

    POST request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO3putyA2CmF":{"name":"put","abstract":"

    PUT request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO6deleteyA2CmF":{"name":"delete","abstract":"

    DELETE request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO7connectyA2CmF":{"name":"connect","abstract":"

    CONNECT request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO7optionsyA2CmF":{"name":"options","abstract":"

    OPTIONS request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO5traceyA2CmF":{"name":"trace","abstract":"

    TRACE request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO5patchyA2CmF":{"name":"patch","abstract":"

    PATCH request method.

    ","parent_name":"Method"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO4wifiyA2CmF":{"name":"wifi","abstract":"

    WIFI state.

    ","parent_name":"ReachabilityState"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO8cellularyA2CmF":{"name":"cellular","abstract":"

    Cellular state.

    ","parent_name":"ReachabilityState"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO11unavailableyA2CmF":{"name":"unavailable","abstract":"

    Unavailable state.

    ","parent_name":"ReachabilityState"},"Enums/QueueFailureMode.html#/s:12TermiNetwork16QueueFailureModeO9cancelAllyA2CmF":{"name":"cancelAll","abstract":"

    Cancels the execution of the queue after a request (operation) fails

    ","parent_name":"QueueFailureMode"},"Enums/QueueFailureMode.html#/s:12TermiNetwork16QueueFailureModeO8continueyA2CmF":{"name":"continue","abstract":"

    Continues the execution of the queue after a request (operation) fails

    ","parent_name":"QueueFailureMode"},"Enums/InterceptionAction.html#/s:12TermiNetwork18InterceptionActionO8continueyA2CmF":{"name":"continue","abstract":"

    Continue with the next interceptor or final callbacks if there is no other interceptor in chain.

    ","parent_name":"InterceptionAction"},"Enums/InterceptionAction.html#/s:12TermiNetwork18InterceptionActionO5retryyACSdSg_tcACmF":{"name":"retry(delay:)","abstract":"

    Retry the request

    ","parent_name":"InterceptionAction"},"Enums/Path.html#/s:12TermiNetwork4PathO09convertedC0SSvp":{"name":"convertedPath","abstract":"

    Returns the constructed path as String based on .path components.

    ","parent_name":"Path"},"Enums/Path.html#/s:12TermiNetwork4PathO4pathyACSaySSGcACmF":{"name":"path(_:)","abstract":"

    An enum case that can be used where path is needed. For example: .path([“user”, “1”, “details”]).","parent_name":"Path"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO5valueyACSS_tcACmF":{"name":"value(value:)","abstract":"

    Simple key-value case.

    ","parent_name":"MultipartFormDataPartType"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO4datayAC10Foundation0E0V_SSSgAHtcACmF":{"name":"data(data:filename:contentType:)","abstract":"

    Data case with filename and content-type.

    ","parent_name":"MultipartFormDataPartType"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO3urlyAC10Foundation3URLVcACmF":{"name":"url(_:)","abstract":"

    File URL case.

    ","parent_name":"MultipartFormDataPartType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO18xWWWFormURLEncodedyA2CmF":{"name":"xWWWFormURLEncoded","abstract":"

    The request params are sent as application/x-www-form-urlencoded mime type

    ","parent_name":"RequestBodyType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO4JSONyA2CmF":{"name":"JSON","abstract":"

    The request params are sent as application/json mime type

    ","parent_name":"RequestBodyType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO17multipartFormDatayACSS_tcACmF":{"name":"multipartFormData(boundary:)","abstract":"

    Type for multipart/form-data body by giving the boundary as String. Typically you don’t have to set it manually","parent_name":"RequestBodyType"},"Enums/URLScheme.html#/s:12TermiNetwork9URLSchemeO4httpyA2CmF":{"name":"http","abstract":"

    HTTP Schema.

    ","parent_name":"URLScheme"},"Enums/URLScheme.html#/s:12TermiNetwork9URLSchemeO5httpsyA2CmF":{"name":"https","abstract":"

    HTTPS Schema.

    ","parent_name":"URLScheme"},"Enums/URLScheme.html":{"name":"URLScheme","abstract":"

    The url scheme that will be used in an environment.

    "},"Enums/RequestBodyType.html":{"name":"RequestBodyType","abstract":"

    The body type of the request

    "},"Enums/MultipartFormDataPartType.html":{"name":"MultipartFormDataPartType","abstract":"

    Enum to specify multipart/form-data parameters that can be used in upload tasks.

    "},"Enums/Path.html":{"name":"Path","abstract":"

    URL path representation based on String components.

    "},"Enums/InterceptionAction.html":{"name":"InterceptionAction","abstract":"

    This will be used in interceptor callback as an action to inteceptors chain.

    "},"Enums/QueueFailureMode.html":{"name":"QueueFailureMode","abstract":"

    Type that specifies the behavior of the queue when a request fails

    "},"Enums/ReachabilityState.html":{"name":"ReachabilityState","abstract":"

    Reachability State Type

    "},"Enums/Method.html":{"name":"Method","abstract":"

    The HTTP request method based on specification of https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html.

    "},"Enums/TNError.html":{"name":"TNError","abstract":"

    Custom error definition.

    "},"Classes/Router.html#/s:12TermiNetwork6RouterC13configurationAA13ConfigurationCSgvp":{"name":"configuration","abstract":"

    Router configuration

    ","parent_name":"Router"},"Classes/Router.html#/s:12TermiNetwork6RouterC11environment13configurationACyxGAA19EnvironmentProtocol_pSg_AA13ConfigurationCSgtcfc":{"name":"init(environment:configuration:)","abstract":"

    Initialize with environment that overrides the one set by Environment.set(_).

    ","parent_name":"Router"},"Classes/Router.html#/s:12TermiNetwork6RouterC7request3forAA7RequestCx_tF":{"name":"request(for:)","abstract":"

    Returns a Request that can be used later, e.g. for starting the request in a later time or canceling it.

    ","parent_name":"Router"},"Classes/RouteConfiguration.html#/s:12TermiNetwork18RouteConfigurationC6method4path6params7headers13configuration12mockFilePathAcA6MethodO_AA0L0OSDySSypSgGSgSDyS2SGSgAA0D0CSgAMSgtcfc":{"name":"init(method:path:params:headers:configuration:mockFilePath:)","abstract":"

    Route configuration initializer

    ","parent_name":"RouteConfiguration"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC8hostnameACSSSg_tcfc":{"name":"init(hostname:)","abstract":"

    Reachability initializer.

    ","parent_name":"Reachability"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC12monitorStateyyyAA0cE0OcSgKF":{"name":"monitorState(_:)","abstract":"

    Starts monitoring network state updates.

    ","parent_name":"Reachability"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC14stopMonitoringyyF":{"name":"stopMonitoring()","abstract":"

    Stops monitoring network state updates.

    ","parent_name":"Reachability"},"Classes/Queue.html#/s:12TermiNetwork5QueueC6sharedACvpZ":{"name":"shared","abstract":"

    The default queue of TermiNetwork used in all Request objects.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC25beforeAllRequestsCallbackyycSgvp":{"name":"beforeAllRequestsCallback","abstract":"

    A closure to be executed before the queue starts executing its requests.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC24afterAllRequestsCallbackySbcSgvp":{"name":"afterAllRequestsCallback","abstract":"

    A closure to be executed after the queue finishes the execution of all its requests.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC25beforeEachRequestCallbackyAA0F0CcSgvp":{"name":"beforeEachRequestCallback","abstract":"

    A closure to be executed before a request execution in queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC24afterEachRequestCallbackyAA0F0C_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcSgvp":{"name":"afterEachRequestCallback","abstract":"

    A closure to be executed after a request finishes its execution in queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC11failureModeAcA0c7FailureE0O_tcfc":{"name":"init(failureMode:)","abstract":"

    Initializes a new queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/c:@M@TermiNetwork@objc(cs)Queue(im)addOperation:":{"name":"addOperation(_:)","abstract":"

    Adds a Request instance into queue.

    ","parent_name":"Queue"},"Classes/Operation.html#/c:@M@TermiNetwork@objc(cs)Operation(py)executing":{"name":"isExecuting","abstract":"

    Overrides the default isExecuting variable inherited from Operation.

    ","parent_name":"Operation"},"Classes/Operation.html#/c:@M@TermiNetwork@objc(cs)Operation(py)finished":{"name":"isFinished","abstract":"

    Overrides the default isFinished variable inherited from Operation.

    ","parent_name":"Operation"},"Classes/Request.html#/s:12TermiNetwork7RequestC13configurationAA13ConfigurationCvp":{"name":"configuration","abstract":"

    The configuration of the request. This will be merged with the environment configuration if needed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC10retryCountSivp":{"name":"retryCount","abstract":"

    The number of the retries initiated by interceptor.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11environmentAA11EnvironmentCSgvp":{"name":"environment","abstract":"

    The environment of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC16associatedObjectyXlSgvp":{"name":"associatedObject","abstract":"

    An associated object with the request. Use this variable to optionaly assign an object to it, for later use.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7headersSDyS2SGSgvp":{"name":"headers","abstract":"

    The headers of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6paramsSDySSypSgGSgvp":{"name":"params","abstract":"

    The parameters of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC9mockDelaySdSgvp":{"name":"mockDelay","abstract":"

    The random delay for mocked responses that is generated by TermiNetwork (readonly)

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6method3url7headers6params13configurationAcA6MethodO_SSSDyS2SGSgSDySSypSgGSgAA13ConfigurationCSgtcfc":{"name":"init(method:url:headers:params:configuration:)","abstract":"

    Initializes a Request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5route11environmentAcA13RouteProtocol_p_AA11EnvironmentCSgtcfc":{"name":"init(route:environment:)","abstract":"

    Initializes a Request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC02asC010Foundation10URLRequestVyKF":{"name":"asRequest()","abstract":"

    Converts a Request instance an URLRequest instance.

    ","parent_name":"Request"},"Classes/Request.html#/c:@M@TermiNetwork@objc(cs)Request(im)cancel":{"name":"cancel()","abstract":"

    Cancels a request

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5queueyAcA5QueueCF":{"name":"queue(_:)","abstract":"

    Set the queue in which the request will be executed.

    ","parent_name":"Request"},"Classes/Request.html#/c:@M@TermiNetwork@objc(cs)Request(im)start":{"name":"start()","abstract":"

    Overrides the start() function from Operation class.","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure15responseHandlerACyAA7TNErrorOc_tF":{"name":"failure(responseHandler:)","abstract":"

    Executed when the request is failed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACxm_yxctSeRzlF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerACxm_yxSg_AA7TNErrorOtctSeRzlF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being deserialized if possible, nil otherwise.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success11transformer15responseHandlerAcA11TransformerCyxq_Gm_yq_ctSeRzr0_lF":{"name":"success(transformer:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully transformed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure11transformer15responseHandlerAcA11TransformerCyxq_Gm_yq_Sg_AA7TNErrorOtctSeRzr0_lF":{"name":"failure(transformer:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being transformed to ToType if","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACSo7NSImageCm_yAHctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is a valid Image.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACSSm_ySSctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is a valid String.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerACSSm_ySSSg_AA7TNErrorOtctF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being converted to String value if possible.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerAC10Foundation4DataVm_yAIctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerAC10Foundation4DataVm_yAISg_AA7TNErrorOtctF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being converted to Data value if possible.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerACxm_ySi_SiSftcSgyxctSeRzlF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the upload request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload11transformer14progressUpdate15responseHandlerAcA11TransformerCyxq_Gm_ySi_SiSftcSgyq_ctSeRzr0_lF":{"name":"upload(transformer:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully transformed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerACSSm_ySi_SiSftcSgySSctF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is String type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerAC10Foundation4DataVm_ySi_SiSftcSgyAJctF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC8download15destinationPath14progressUpdate17completionHandlerACSS_ySi_SiSftcSgyyctF":{"name":"download(destinationPath:progressUpdate:completionHandler:)","abstract":"

    Executed when the download request is succeeded.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload2as14progressUpdatexxm_ySi_SiSftcSgtYaKSeRzlF":{"name":"asyncUpload(as:progressUpdate:)","abstract":"

    Executed when the upload request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload5using14progressUpdateq_AA11TransformerCyxq_Gm_ySi_SiSftcSgtYaKSeRzr0_lF":{"name":"asyncUpload(using:progressUpdate:)","abstract":"

    Executes an asynchronous upload request and returns the decodable type based on transformer.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUplaod2as14progressUpdateS2Sm_ySi_SiSftcSgtYaKF":{"name":"asyncUplaod(as:progressUpdate:)","abstract":"

    Executed when the request is succeeded and the response is String type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload2as14progressUpdate10Foundation4DataVAIm_ySi_SiSftcSgtYaKF":{"name":"asyncUpload(as:progressUpdate:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC13asyncDownload15destinationPath14progressUpdateySS_ySi_SiSftcSgtYaKF":{"name":"asyncDownload(destinationPath:progressUpdate:)","abstract":"

    Executes an asynchronous download request and returns by throwing and error if it fails.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asxxm_tYaKSeRzlF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the inferred decodable type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5asyncxyYaKSeRzlF":{"name":"async()","abstract":"

    Executes an asynchronous request and returns the inferred decodable type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asS2Sm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as String.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2as10Foundation4DataVAHm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as Data.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asSo7NSImageCAGm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as Image.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async5usingq_AA11TransformerCyxq_Gm_tYaKSeRzr0_lF":{"name":"async(using:)","abstract":"

    Executes an asynchronous request and returns the decodable type based on transformer.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC21checkTaskCancellationyyKF":{"name":"checkTaskCancellation()","abstract":"

    Checks if the task has been cancelled and throws an Error in that case.

    ","parent_name":"Request"},"Classes/Request.html#/c:@CM@TermiNetwork@objc(cs)Request(im)copyWithZone:":{"name":"copy(with:)","abstract":"

    Clones a Request instance.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC15responseHeadersyACXDySDyS2SGSg_AA7TNErrorOSgtcF":{"name":"responseHeaders(_:)","abstract":"

    Reads the response headers from request after its completion.

    ","parent_name":"Request"},"Classes/Transformer.html#/s:12TermiNetwork11TransformerC9transformyq_xKF":{"name":"transform(_:)","abstract":"

    This is the default transform method. This method should be overriden by subclass

    ","parent_name":"Transformer"},"Classes/Transformer.html#/s:12TermiNetwork11TransformerCACyxq_Gycfc":{"name":"init()","abstract":"

    Default initializer

    ","parent_name":"Transformer"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC13configurationAA13ConfigurationCSgvp":{"name":"configuration","abstract":"

    The configuration object.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC7currentACSgvpZ":{"name":"current","abstract":"

    The current global environment. Use this property to set your environment globally.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3setyyAA0C8Protocol_pFZ":{"name":"set(_:)","abstract":"

    Set a global environment for TermiNetwork.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3set17environmentObjectyAC_tFZ":{"name":"set(environmentObject:)","abstract":"

    Set a global environment for TermiNetwork with a given environment object.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC6scheme4host6suffix4port13configurationAcA9URLSchemeO_SSAA4PathOSgSiSgAA13ConfigurationCSgtcfc":{"name":"init(scheme:host:suffix:port:configuration:)","abstract":"

    Initializes an environment.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3url13configurationACSS_AA13ConfigurationCSgtcfc":{"name":"init(url:configuration:)","abstract":"

    Initializes an environment with an URL string.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC9stringURLSSvp":{"name":"stringURL","abstract":"

    Get the String value of the environment.

    ","parent_name":"Environment"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC11cachePolicySo017NSURLRequestCacheE0VSgvp":{"name":"cachePolicy","abstract":"

    The cache policy of the request.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15timeoutIntervalSdSgvp":{"name":"timeoutInterval","abstract":"

    The timeout interval of the request.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15requestBodyTypeAA07RequesteF0OSgvp":{"name":"requestBodyType","abstract":"

    The request body type of the request. Can be either .xWWWFormURLEncoded or .JSON.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC16certificatePathsSaySSGSgvp":{"name":"certificatePaths","abstract":"

    The certificate file paths used for certificate pining.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC7verboseSbSgvp":{"name":"verbose","abstract":"

    Enables or disables debug mode.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC7headersSDyS2SGSgvp":{"name":"headers","abstract":"

    Additional headers of the request. They will be merged with the headers specified in RouteConfiguration.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC14mockDataBundleSo8NSBundleCSgvp":{"name":"mockDataBundle","abstract":"

    The Bundle object of mock data used when useMockData is true.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15mockDataEnabledSbSgvp":{"name":"mockDataEnabled","abstract":"

    Enables or disables request mocking.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC9mockDelaySd3min_Sd3maxtSgvp":{"name":"mockDelay","abstract":"

    Specifies a delay when mock data is used.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC19keyDecodingStrategy10Foundation11JSONDecoderC03KeyeF0OSgvp":{"name":"keyDecodingStrategy","abstract":"

    Specifies a key decoding strategy. Take a look","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC12interceptorsSayAA19InterceptorProtocol_pXpGSgvp":{"name":"interceptors","abstract":"

    Error handlers that will be used as a fallback after request failure.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC17requestMiddlewareSayAA07RequestE8Protocol_pXpGSgvp":{"name":"requestMiddleware","abstract":"

    Request middleware

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC11cachePolicy15timeoutInterval15requestBodyType16certificatePaths7verbose7headers14mockDataBundle0oP7Enabled0O5Delay19keyDecodingStrategy12interceptors0H10MiddlewareACSo017NSURLRequestCacheE0VSg_SdSgAA07RequestiJ0OSgSaySSGSgSbSgSDyS2SGSgSo8NSBundleCSgAYSd3min_Sd3maxtSg10Foundation11JSONDecoderC03KeyuV0OSgSayAA19InterceptorProtocol_pXpGSgSayAA07RequestX8Protocol_pXpGSgtcfc":{"name":"init(cachePolicy:timeoutInterval:requestBodyType:certificatePaths:verbose:headers:mockDataBundle:mockDataEnabled:mockDelay:keyDecodingStrategy:interceptors:requestMiddleware:)","abstract":"

    Default initializer of Configuration

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC4copy4withyp10ObjectiveC6NSZoneVSg_tF":{"name":"copy(with:)","abstract":"

    NSCopying implementation, used for cloning Configuration objects.

    ","parent_name":"Configuration"},"Classes/Cache.html#/s:12TermiNetwork5CacheC6sharedACvpZ":{"name":"shared","abstract":"

    Singleton object.

    ","parent_name":"Cache"},"Classes/Cache.html#/s:12TermiNetwork5CacheC09configureC010countLimit4sizeySi_SitF":{"name":"configureCache(countLimit:size:)","abstract":"

    Configures the cache.

    ","parent_name":"Cache"},"Classes/Cache.html#/s:12TermiNetwork5CacheC05clearC0yyF":{"name":"clearCache()","abstract":"

    Clears cache.

    ","parent_name":"Cache"},"Classes/Cache.html":{"name":"Cache","abstract":"

    Cache is used internally for various tasks such as in-memory caching image data."},"Classes/Configuration.html":{"name":"Configuration","abstract":"

    A configuration class that can be used with Environment, Router, Route and Request."},"Classes/Environment.html":{"name":"Environment","abstract":"

    The Environment contains information about host, port, configuration and it’s used in Request instances.

    "},"Classes/Transformer.html":{"name":"Transformer","abstract":"

    Inherit this class as to create your transformers."},"Classes/Request.html":{"name":"Request","abstract":"

    The core class of TermiNetwork. It handles the request creation and its execution.

    "},"Classes/Operation.html":{"name":"Operation","abstract":"

    This class is inherited by Request to control the execution of the request.

    "},"Classes/Queue.html":{"name":"Queue","abstract":"

    Use this class to create custom queues.

    "},"Classes/Reachability.html":{"name":"Reachability","abstract":"

    Adds Reachability supportt

    "},"Classes/RouteConfiguration.html":{"name":"RouteConfiguration","abstract":"

    Route configuration class which is used in Route protocol implementations.

    "},"Classes/Router.html":{"name":"Router","abstract":"

    This class is used to create instances of Router that can be used to start requests based on the given Route.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/docs/docsets/TermiNetwork.docset/Contents/Resources/docSet.dsidx b/docs/docsets/TermiNetwork.docset/Contents/Resources/docSet.dsidx index e71729498905f414d4dbb58d2e91b5ecfe63ca95..a1865a21106d931b357acd3a16b08ed5b3a76768 100644 GIT binary patch delta 5607 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 delta 4277 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 diff --git a/docs/docsets/TermiNetwork.tgz b/docs/docsets/TermiNetwork.tgz index c0a8c28fccf483f08dc243a049ef00fa5482402d..dfa8b98160993940bb574510d91ebdd81c3db172 100644 GIT binary patch literal 180202 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%0D! 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∈wQlkV`!#CLay*tOf>{lI8t!Z3n9(n(A3{l* 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.0.0https://billp.github.io/TermiNetwork/docsets/TermiNetwork.tgz +3.2.0https://billp.github.io/TermiNetwork/docsets/TermiNetwork.tgz diff --git a/docs/index.html b/docs/index.html index ec8aa010..91fc9cee 100644 --- a/docs/index.html +++ b/docs/index.html @@ -20,9 +20,9 @@

    - TermiNetwork 3.0.0 Docs + TermiNetwork 3.2.0 Docs - (100% documented) + (98% documented)

    @@ -148,6 +148,9 @@ +
  • Queue Hooks
  • Error Handling
  • +
  • Cancelling a Request
  • Reachability
  • Transformers
  • Mock responses
  • @@ -312,16 +316,16 @@

    Installation

    CocoaPods

    Add the following line to your Podfile and run pod install in your terminal:

    -
    pod 'TermiNetwork', '~> 3.0.0'
    +
    pod 'TermiNetwork', '~> 3.2.0'
     

    Carthage

    Add the following line to your Carthage and run carthage update in your terminal:

    -
    github "billp/TermiNetwork" ~> 3.0.0
    +
    github "billp/TermiNetwork" ~> 3.2.0
     

    Swift Package Manager

    -

    Go to File > Swift Packages > Add Package Dependency and add the following URL :

    +

    Go to File > Swift Packages > Add Package Dependency and add the following URL:

    https://github.com/billp/TermiNetwork
     
    @@ -420,6 +424,22 @@

    Make a request

    }
    +

    or with async await

    +
    do {
    +    let toto: Todo = Router<TodosRoute>()
    +    .request(for: .add(title: "Go shopping!"))
    +    .async()
    +} catch let error {
    +    print(error.localizedDescription)
    +}
    +
    +

    Queue Hooks

    @@ -555,7 +585,7 @@

    Example

    Router<TodosRoute>().request(for: .add(title: "Go shopping!"))
           .success(responseType: Todo.self) { todo in
              // do something with todo
    -      },
    +      }
           .failure: { error in
               switch error {
               case .notSuccess(let statusCode):
    @@ -564,14 +594,77 @@ 

    Example

    case .networkError(let error): debugPrint("Network error: " + error.localizedDescription) break - case .cancelled(let error): - debugPrint("Request cancelled with error: " + error.localizedDescription) + case .cancelled: + debugPrint("Request cancelled") break default: debugPrint("Error: " + error.localizedDescription) }
    +

    or with async await

    +
    do {
    +    let todo: Todo = Router<TodosRoute>()
    +    .request(for: .add(title: "Go shopping!"))
    +    .async()
    +} catch let error {
    +    switch error as? TNError {
    +    case .notSuccess(let statusCode, _):
    +     debugPrint("Status code " + String(statusCode))
    +     break
    +    case .networkError(let error):
    +     debugPrint("Network error: " + error.localizedDescription)
    +     break
    +    case .cancelled:
    +     debugPrint("Request cancelled")
    +     break
    +    default:
    +     debugPrint("Error: " + error.localizedDescription)
    + }
    +
    + +

    +

    Cancelling a request

    + +

    You can cancel a request that is executing by calling the .cancel() method.

    +

    Example

    +
    let params = ["title": "Go shopping."]
    +let headers = ["x-auth": "abcdef1234"]
    +
    +let request = Request(method: .get, 
    +          url: "https://myweb.com/api/todos", 
    +          headers: headers, 
    +          params: params)
    +
    +
    +request.success(responseType: Todo.self) { todos in
    +    print(todos)
    +}
    +.failure { error in
    +    print(error.localizedDescription)
    +}
    +
    +request.cancel()
    +
    + +

    or with async await:

    +
    
    +let task = Task {
    +    let request = Request(method: .get, 
    +    url: "https://myweb.com/api/todos", 
    +    headers: headers, 
    +    params: params)
    +    do {
    +        let todos: [Todo] = try await request.async()
    +        print(todos)
    +    } catch let error { 
    +        print(error.localizedDescription)
    +    }
    +}
    +
    +task.cancel()
    +
    +

    Reachability

    @@ -629,6 +722,21 @@

    Example

    }
    +

    or with async await

    +
    do {
    +    let cities = await Router<CityRoute>()
    +        .request(for: .cities)
    +        .async(using: CitiesTransformer.self)
    +} catch let error {
    +    switch error as? TNError {
    +    case .cancelled:
    +        break
    +    default:
    +        self.errorMessage = error.localizedDescription
    +    }
    +}
    +
    +

    Mock responses

    @@ -810,7 +918,7 @@

    License

    diff --git a/docs/search.json b/docs/search.json index 5ec9132b..e03da7c9 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Typealiases.html#/s:12TermiNetwork14MockDelayRangea":{"name":"MockDelayRange","abstract":"

    Type for mock delay randomizer.

    "},"Typealiases.html#/s:12TermiNetwork28BeforeQueueStartCallbackTypea":{"name":"BeforeQueueStartCallbackType","abstract":"

    Hook type for beforeAllRequestsCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork28AfterAllRequestsCallbackTypea":{"name":"AfterAllRequestsCallbackType","abstract":"

    Hook type for afterAllRequestsCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork29BeforeEachRequestCallbackTypea":{"name":"BeforeEachRequestCallbackType","abstract":"

    Hook type for beforeEachRequestCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork28AfterEachRequestCallbackTypea":{"name":"AfterEachRequestCallbackType","abstract":"

    Hook type for afterEachRequestCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork29ReachabilityUpdateClosureTypea":{"name":"ReachabilityUpdateClosureType","abstract":"

    Type for reachability monitoring updates

    "},"Typealiases.html#/s:12TermiNetwork9ImageTypea":{"name":"ImageType","abstract":"

    The Image type depending on platform: UIImage for iOS or NSImage for macOS.

    "},"Typealiases.html#/ImageType":{"name":"ImageType","abstract":"

    The Image type depending on platform: UIImage for iOS or NSImage for macOS.

    "},"Typealiases.html#/s:12TermiNetwork19ImagePreprocessTypea":{"name":"ImagePreprocessType","abstract":"

    Callback type for image preprocess used in UIImageView|NSImage|WKInterfaceImage and Image (SwiftUI) helpers

    "},"Typealiases.html#/s:12TermiNetwork25ImageOnFinishCallbackTypea":{"name":"ImageOnFinishCallbackType","abstract":"

    Callback type for image downloaded event.

    "},"Typealiases.html#/s:12TermiNetwork20ProgressCallbackTypea":{"name":"ProgressCallbackType","abstract":"

    Progress callback type

    "},"Typealiases.html#/s:12TermiNetwork15SuccessCallbacka":{"name":"SuccessCallback","abstract":"

    Custom type for success data task.

    "},"Typealiases.html#/s:12TermiNetwork26SuccessCallbackWithoutTypea":{"name":"SuccessCallbackWithoutType","abstract":"

    Custom type for success data task without type.

    "},"Typealiases.html#/s:12TermiNetwork23DownloadSuccessCallbacka":{"name":"DownloadSuccessCallback","abstract":"

    Custom type for download success data task.

    "},"Typealiases.html#/s:12TermiNetwork15FailureCallbacka":{"name":"FailureCallback","abstract":"

    Custom type for failure data task."},"Typealiases.html#/s:12TermiNetwork26FailureCallbackWithoutTypea":{"name":"FailureCallbackWithoutType","abstract":"

    Custom type for failure data task without type.

    "},"Typealiases.html#/s:12TermiNetwork23FailureCallbackWithTypea":{"name":"FailureCallbackWithType","abstract":"

    Custom type for failure data task with custom type.

    "},"Structs/Image.html#/s:12TermiNetwork5ImageV4bodyQrvp":{"name":"body","abstract":"

    Main body

    ","parent_name":"Image"},"Structs/Image.html#/s:12TermiNetwork5ImageV3url13configuration07defaultC08resizeTo010preprocessC08onFinishACSS_AA13ConfigurationCSgSo7NSImageCSgSo6CGSizeVSgA2NcSgyAO_AA7TNErrorOSgtcSgtcfc":{"name":"init(url:configuration:defaultImage:resizeTo:preprocessImage:onFinish:)","abstract":"

    Download a remote image with the specified url.

    ","parent_name":"Image"},"Structs/Image.html#/s:12TermiNetwork5ImageV7request07defaultC08resizeTo010preprocessC08onFinishAcA7RequestC_So7NSImageCSgSo6CGSizeVSgA2LcSgyAM_AA7TNErrorOSgtcSgtcfc":{"name":"init(request:defaultImage:resizeTo:preprocessImage:onFinish:)","abstract":"

    Download a remote image with the specified url.

    ","parent_name":"Image"},"Structs/Image.html":{"name":"Image","abstract":"

    Image is a SwiftUI component for downloading images.

    "},"Protocols/RouteProtocol.html#/s:12TermiNetwork13RouteProtocolP9configureAA0C13ConfigurationCyF":{"name":"configure()","abstract":"

    Configure your router by setting this function. See Examples/Routers/CityRoute.swift for an example.

    ","parent_name":"RouteProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP13processParams4withSDySSypSgGSgAH_tKF":{"name":"processParams(with:)","abstract":"

    Processes body params before they are sent to server.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP15processResponse4with10Foundation4DataVSgAI_tKF":{"name":"processResponse(with:)","abstract":"

    Processes response data after they have been received.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP24processHeadersBeforeSend4withSDyS2SGSgAG_tKF":{"name":"processHeadersBeforeSend(with:)","abstract":"

    Processes the response headers before they are sent to server.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP26processHeadersAfterReceive4withSDyS2SGSgAG_tKF":{"name":"processHeadersAfterReceive(with:)","abstract":"

    Processes response headers after they have been received.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolPxycfc":{"name":"init()","abstract":"

    Required initializer

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/InterceptorProtocol.html#/s:12TermiNetwork19InterceptorProtocolP15requestFinished12responseData5error0E07proceedy10Foundation0H0VSg_AA7TNErrorOSgAA7RequestCyAA18InterceptionActionOctF":{"name":"requestFinished(responseData:error:request:proceed:)","abstract":"

    This function is called when a request is failed.

    ","parent_name":"InterceptorProtocol"},"Protocols/InterceptorProtocol.html#/s:12TermiNetwork19InterceptorProtocolPxycfc":{"name":"init()","abstract":"

    Default initializer

    ","parent_name":"InterceptorProtocol"},"Protocols/EnvironmentProtocol.html#/s:12TermiNetwork19EnvironmentProtocolP9configureAA0C0CyF":{"name":"configure()","abstract":"

    Thus is required in order to construct the url of the request.

    ","parent_name":"EnvironmentProtocol"},"Protocols/EnvironmentProtocol.html":{"name":"EnvironmentProtocol","abstract":"

    This protocol should be inhereted by the Environment enum.

    "},"Protocols/InterceptorProtocol.html":{"name":"InterceptorProtocol","abstract":"

    Use this protocol to create interceptors that can be passed to Configuration instances."},"Protocols/RequestMiddlewareProtocol.html":{"name":"RequestMiddlewareProtocol","abstract":"

    This protocol is used to register a middleware in order to modify body and headers of a request. (e.g. it can be"},"Protocols/RouteProtocol.html":{"name":"RouteProtocol","abstract":"

    Use this protocol to define routers as enums.

    "},"Extensions/Decodable.html#/s:Se12TermiNetworkE9transform4withqd_0_AA11TransformerCyqd__qd_0_G_tKr0_lF":{"name":"transform(with:)","abstract":"

    Transforms the decodable object with the specified transformer.

    ","parent_name":"Decodable"},"Extensions/Data.html#/s:10Foundation4DataV12TermiNetworkE19deserializeJSONData23withKeyDecodingStrategyxAA11JSONDecoderC0hiJ0OSg_tKSeRzlF":{"name":"deserializeJSONData(withKeyDecodingStrategy:)","abstract":"

    Deserializes the JSON Data to the given type.

    ","parent_name":"Data"},"Extensions/Data.html#/s:10Foundation4DataV12TermiNetworkE12toJSONStringSSSgyF":{"name":"toJSONString()","abstract":"

    Creates a JSON string (pretty printed) from Data.

    ","parent_name":"Data"},"Extensions/Data.html":{"name":"Data","abstract":"

    Data extension for JSON deserialization.

    "},"Extensions/Decodable.html":{"name":"Decodable","abstract":"

    Decodable extension for Transformers

    "},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO10invalidURLyA2CmF":{"name":"invalidURL","abstract":"

    Thrown when the url is not valid.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15environmenotSetyA2CmF":{"name":"environmenotSet","abstract":"

    Thrown when the environment is not set.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO13invalidParamsyA2CmF":{"name":"invalidParams","abstract":"

    Thrown when the params contain invalid characters.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO24responseInvalidImageDatayA2CmF":{"name":"responseInvalidImageData","abstract":"

    Thrown when the response object is expected to be a UIImage but it’s not.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO17cannotDeserializeyACSS_s5Error_ptcACmF":{"name":"cannotDeserialize(_:_:)","abstract":"

    Thrown when the given Codable type cannot be deserialized. It contains the className and the error about deserilization.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO21cannotConvertToStringyA2CmF":{"name":"cannotConvertToString","abstract":"

    Thrown when the response object is expected to be a String but it’s not.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO12networkErroryACs0E0_pcACmF":{"name":"networkError(_:)","abstract":"

    Thrown when a network error occured. It contains the NSURLError.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO10notSuccessyACSi_10Foundation4DataVtcACmF":{"name":"notSuccess(_:_:)","abstract":"

    Thrown when a request is not succeeded (it’s not 2xx). It contains the HTTP Status Code and the response Data.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO9cancelledyACs5Error_pcACmF":{"name":"cancelled(_:)","abstract":"

    Thrown when a request is cancelled.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO12pinningErroryA2CmF":{"name":"pinningError","abstract":"

    Thorwn when certificate pinning validation fails.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15invalidMockDatayACSScACmF":{"name":"invalidMockData(_:)","abstract":"

    Thrown when a request is mocked but the data is invalid (e.g. cannot parse JSON).

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15middlewareErroryACypcACmF":{"name":"middlewareError(_:)","abstract":"

    Thrown when a middleware reports an error. Throw this error in your custom middleware","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO22invalidMultipartParamsyA2CmF":{"name":"invalidMultipartParams","abstract":"

    Thrown when MultipartFormDataPartType param is expected but passed something else.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO14invalidFileURLyACSScACmF":{"name":"invalidFileURL(_:)","abstract":"

    Thrown when an invalid file path URL is passed on upload/download operations.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO27downloadedFileCannotBeSavedyACs5Error_pcACmF":{"name":"downloadedFileCannotBeSaved(_:)","abstract":"

    Thrown when the file cannot be saved to destination for some reason.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO25transformerNotImplementedyA2CmF":{"name":"transformerNotImplemented","abstract":"

    Thrown when the transform method is not implemented (overriden in subclass).

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO20transformationFailedyA2CmF":{"name":"transformationFailed","abstract":"

    Thrown when the transformation failed for some reason, e.g. Incompatible Types

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO22invalidCertificatePathyACSScACmF":{"name":"invalidCertificatePath(_:)","abstract":"

    Thrown when a certificate path is invalid.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO25cannotReadResponseHeadersyA2CmF":{"name":"cannotReadResponseHeaders","abstract":"

    Thrown when the response headers cannot be retrieved.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO13emptyResponseyA2CmF":{"name":"emptyResponse","abstract":"

    Thrown when the response is empty.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO17reachabilityErroryA2CmF":{"name":"reachabilityError","abstract":"

    Thrown the reachability core function call cannot be itialized.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO20localizedDescriptionSSSgvp":{"name":"localizedDescription","abstract":"

    A localized description for TNError.

    ","parent_name":"TNError"},"Enums/Method.html#/s:12TermiNetwork6MethodO3getyA2CmF":{"name":"get","abstract":"

    GET request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO4headyA2CmF":{"name":"head","abstract":"

    HEAD request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO4postyA2CmF":{"name":"post","abstract":"

    POST request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO3putyA2CmF":{"name":"put","abstract":"

    PUT request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO6deleteyA2CmF":{"name":"delete","abstract":"

    DELETE request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO7connectyA2CmF":{"name":"connect","abstract":"

    CONNECT request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO7optionsyA2CmF":{"name":"options","abstract":"

    OPTIONS request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO5traceyA2CmF":{"name":"trace","abstract":"

    TRACE request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO5patchyA2CmF":{"name":"patch","abstract":"

    PATCH request method.

    ","parent_name":"Method"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO4wifiyA2CmF":{"name":"wifi","abstract":"

    WIFI state.

    ","parent_name":"ReachabilityState"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO8cellularyA2CmF":{"name":"cellular","abstract":"

    Cellular state.

    ","parent_name":"ReachabilityState"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO11unavailableyA2CmF":{"name":"unavailable","abstract":"

    Unavailable state.

    ","parent_name":"ReachabilityState"},"Enums/QueueFailureMode.html#/s:12TermiNetwork16QueueFailureModeO9cancelAllyA2CmF":{"name":"cancelAll","abstract":"

    Cancels the execution of the queue after a request (operation) fails

    ","parent_name":"QueueFailureMode"},"Enums/QueueFailureMode.html#/s:12TermiNetwork16QueueFailureModeO8continueyA2CmF":{"name":"continue","abstract":"

    Continues the execution of the queue after a request (operation) fails

    ","parent_name":"QueueFailureMode"},"Enums/InterceptionAction.html#/s:12TermiNetwork18InterceptionActionO8continueyA2CmF":{"name":"continue","abstract":"

    Continue with the next interceptor or final callbacks if there is no other interceptor in chain.

    ","parent_name":"InterceptionAction"},"Enums/InterceptionAction.html#/s:12TermiNetwork18InterceptionActionO5retryyACSdSg_tcACmF":{"name":"retry(delay:)","abstract":"

    Retry the request

    ","parent_name":"InterceptionAction"},"Enums/Path.html#/s:12TermiNetwork4PathO09convertedC0SSvp":{"name":"convertedPath","abstract":"

    Returns the constructed path as String based on .path components.

    ","parent_name":"Path"},"Enums/Path.html#/s:12TermiNetwork4PathO4pathyACSaySSGcACmF":{"name":"path(_:)","abstract":"

    An enum case that can be used where path is needed. For example: .path([“user”, “1”, “details”]).","parent_name":"Path"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO5valueyACSS_tcACmF":{"name":"value(value:)","abstract":"

    Simple key-value case.

    ","parent_name":"MultipartFormDataPartType"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO4datayAC10Foundation0E0V_SSSgAHtcACmF":{"name":"data(data:filename:contentType:)","abstract":"

    Data case with filename and content-type.

    ","parent_name":"MultipartFormDataPartType"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO3urlyAC10Foundation3URLVcACmF":{"name":"url(_:)","abstract":"

    File URL case.

    ","parent_name":"MultipartFormDataPartType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO18xWWWFormURLEncodedyA2CmF":{"name":"xWWWFormURLEncoded","abstract":"

    The request params are sent as application/x-www-form-urlencoded mime type

    ","parent_name":"RequestBodyType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO4JSONyA2CmF":{"name":"JSON","abstract":"

    The request params are sent as application/json mime type

    ","parent_name":"RequestBodyType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO17multipartFormDatayACSS_tcACmF":{"name":"multipartFormData(boundary:)","abstract":"

    Type for multipart/form-data body by giving the boundary as String. Typically you don’t have to set it manually","parent_name":"RequestBodyType"},"Enums/URLScheme.html#/s:12TermiNetwork9URLSchemeO4httpyA2CmF":{"name":"http","abstract":"

    HTTP Schema.

    ","parent_name":"URLScheme"},"Enums/URLScheme.html#/s:12TermiNetwork9URLSchemeO5httpsyA2CmF":{"name":"https","abstract":"

    HTTPS Schema.

    ","parent_name":"URLScheme"},"Enums/URLScheme.html":{"name":"URLScheme","abstract":"

    The url scheme that will be used in an environment.

    "},"Enums/RequestBodyType.html":{"name":"RequestBodyType","abstract":"

    The body type of the request

    "},"Enums/MultipartFormDataPartType.html":{"name":"MultipartFormDataPartType","abstract":"

    Enum to specify multipart/form-data parameters that can be used in upload tasks.

    "},"Enums/Path.html":{"name":"Path","abstract":"

    URL path representation based on String components.

    "},"Enums/InterceptionAction.html":{"name":"InterceptionAction","abstract":"

    This will be used in interceptor callback as an action to inteceptors chain.

    "},"Enums/QueueFailureMode.html":{"name":"QueueFailureMode","abstract":"

    Type that specifies the behavior of the queue when a request fails

    "},"Enums/ReachabilityState.html":{"name":"ReachabilityState","abstract":"

    Reachability State Type

    "},"Enums/Method.html":{"name":"Method","abstract":"

    The HTTP request method based on specification of https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html.

    "},"Enums/TNError.html":{"name":"TNError","abstract":"

    Custom error definition.

    "},"Classes/Router.html#/s:12TermiNetwork6RouterC13configurationAA13ConfigurationCSgvp":{"name":"configuration","abstract":"

    Router configuration

    ","parent_name":"Router"},"Classes/Router.html#/s:12TermiNetwork6RouterC11environment13configurationACyxGAA19EnvironmentProtocol_pSg_AA13ConfigurationCSgtcfc":{"name":"init(environment:configuration:)","abstract":"

    Initialize with environment that overrides the one set by Environment.set(_).

    ","parent_name":"Router"},"Classes/Router.html#/s:12TermiNetwork6RouterC7request3forAA7RequestCx_tF":{"name":"request(for:)","abstract":"

    Returns a Request that can be used later, e.g. for starting the request in a later time or canceling it.

    ","parent_name":"Router"},"Classes/RouteConfiguration.html#/s:12TermiNetwork18RouteConfigurationC6method4path6params7headers13configuration12mockFilePathAcA6MethodO_AA0L0OSDySSypSgGSgSDyS2SGSgAA0D0CSgAMSgtcfc":{"name":"init(method:path:params:headers:configuration:mockFilePath:)","abstract":"

    Route configuration initializer

    ","parent_name":"RouteConfiguration"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC8hostnameACSSSg_tcfc":{"name":"init(hostname:)","abstract":"

    Reachability initializer.

    ","parent_name":"Reachability"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC12monitorStateyyyAA0cE0OcSgKF":{"name":"monitorState(_:)","abstract":"

    Starts monitoring network state updates.

    ","parent_name":"Reachability"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC14stopMonitoringyyF":{"name":"stopMonitoring()","abstract":"

    Stops monitoring network state updates.

    ","parent_name":"Reachability"},"Classes/Queue.html#/s:12TermiNetwork5QueueC6sharedACvpZ":{"name":"shared","abstract":"

    The default queue of TermiNetwork used in all Request objects.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC25beforeAllRequestsCallbackyycSgvp":{"name":"beforeAllRequestsCallback","abstract":"

    A closure to be executed before the queue starts executing its requests.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC24afterAllRequestsCallbackySbcSgvp":{"name":"afterAllRequestsCallback","abstract":"

    A closure to be executed after the queue finishes the execution of all its requests.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC25beforeEachRequestCallbackyAA0F0CcSgvp":{"name":"beforeEachRequestCallback","abstract":"

    A closure to be executed before a request execution in queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC24afterEachRequestCallbackyAA0F0C_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcSgvp":{"name":"afterEachRequestCallback","abstract":"

    A closure to be executed after a request finishes its execution in queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC11failureModeAcA0c7FailureE0O_tcfc":{"name":"init(failureMode:)","abstract":"

    Initializes a new queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/c:@M@TermiNetwork@objc(cs)Queue(im)addOperation:":{"name":"addOperation(_:)","abstract":"

    Adds a Request instance into queue.

    ","parent_name":"Queue"},"Classes/Operation.html#/c:@M@TermiNetwork@objc(cs)Operation(py)executing":{"name":"isExecuting","abstract":"

    Overrides the default isExecuting variable inherited from Operation.

    ","parent_name":"Operation"},"Classes/Operation.html#/c:@M@TermiNetwork@objc(cs)Operation(py)finished":{"name":"isFinished","abstract":"

    Overrides the default isFinished variable inherited from Operation.

    ","parent_name":"Operation"},"Classes/Request.html#/s:12TermiNetwork7RequestC13configurationAA13ConfigurationCvp":{"name":"configuration","abstract":"

    The configuration of the request. This will be merged with the environment configuration if needed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC10retryCountSivp":{"name":"retryCount","abstract":"

    The number of the retries initiated by interceptor.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11environmentAA11EnvironmentCSgvp":{"name":"environment","abstract":"

    The environment of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC16associatedObjectyXlSgvp":{"name":"associatedObject","abstract":"

    An associated object with the request. Use this variable to optionaly assign an object to it, for later use.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7headersSDyS2SGSgvp":{"name":"headers","abstract":"

    The headers of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6paramsSDySSypSgGSgvp":{"name":"params","abstract":"

    The parameters of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC9mockDelaySdSgvp":{"name":"mockDelay","abstract":"

    The random delay for mocked responses that is generated by TermiNetwork (readonly)

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6method3url7headers6params13configurationAcA6MethodO_SSSDyS2SGSgSDySSypSgGSgAA13ConfigurationCSgtcfc":{"name":"init(method:url:headers:params:configuration:)","abstract":"

    Initializes a Request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5route11environmentAcA13RouteProtocol_p_AA11EnvironmentCSgtcfc":{"name":"init(route:environment:)","abstract":"

    Initializes a Request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC02asC010Foundation10URLRequestVyKF":{"name":"asRequest()","abstract":"

    Converts a Request instance an URLRequest instance.

    ","parent_name":"Request"},"Classes/Request.html#/c:@M@TermiNetwork@objc(cs)Request(im)cancel":{"name":"cancel()","abstract":"

    Cancels a request

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5queueyAcA5QueueCF":{"name":"queue(_:)","abstract":"

    Set the queue in which the request will be executed.

    ","parent_name":"Request"},"Classes/Request.html#/c:@M@TermiNetwork@objc(cs)Request(im)start":{"name":"start()","abstract":"

    Overrides the start() function from Operation class.","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure15responseHandlerACyAA7TNErrorOc_tF":{"name":"failure(responseHandler:)","abstract":"

    Executed when the request is failed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACxm_yxctSeRzlF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerACxm_yxSg_AA7TNErrorOtctSeRzlF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being deserialized if possible, nil otherwise.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success11transformer15responseHandlerAcA11TransformerCyxq_Gm_yq_ctSeRzr0_lF":{"name":"success(transformer:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully transformed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure11transformer15responseHandlerAcA11TransformerCyxq_Gm_yq_Sg_AA7TNErrorOtctSeRzr0_lF":{"name":"failure(transformer:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being transformed to ToType if","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACSo7NSImageCm_yAHctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is a valid Image.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACSSm_ySSctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is a valid String.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerACSSm_ySSSg_AA7TNErrorOtctF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being converted to String value if possible.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerAC10Foundation4DataVm_yAIctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerAC10Foundation4DataVm_yAISg_AA7TNErrorOtctF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being converted to Data value if possible.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerACxm_ySi_SiSftcSgyxctSeRzlF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the upload request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload11transformer14progressUpdate15responseHandlerAcA11TransformerCyxq_Gm_ySi_SiSftcSgyq_ctSeRzr0_lF":{"name":"upload(transformer:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully transformed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerACSSm_ySi_SiSftcSgySSctF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is String type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerAC10Foundation4DataVm_ySi_SiSftcSgyAJctF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC8download15destinationPath14progressUpdate17completionHandlerACSS_ySi_SiSftcSgyyctF":{"name":"download(destinationPath:progressUpdate:completionHandler:)","abstract":"

    Executed when the download request is succeeded.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload2as14progressUpdatexxm_ySi_SiSftcSgtYaKSeRzlF":{"name":"asyncUpload(as:progressUpdate:)","abstract":"

    Executed when the upload request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload5using14progressUpdateq_AA11TransformerCyxq_Gm_ySi_SiSftcSgtYaKSeRzr0_lF":{"name":"asyncUpload(using:progressUpdate:)","abstract":"

    Executes an asynchronous upload request and returns the decodable type based on transformer.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUplaod2as14progressUpdateS2Sm_ySi_SiSftcSgtYaKF":{"name":"asyncUplaod(as:progressUpdate:)","abstract":"

    Executed when the request is succeeded and the response is String type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload2as14progressUpdate10Foundation4DataVAIm_ySi_SiSftcSgtYaKF":{"name":"asyncUpload(as:progressUpdate:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC13asyncDownload15destinationPath14progressUpdateySS_ySi_SiSftcSgtYaKF":{"name":"asyncDownload(destinationPath:progressUpdate:)","abstract":"

    Executes an asynchronous download request and returns by throwing and error if it fails.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asxxm_tYaKSeRzlF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the inferred decodable type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5asyncxyYaKSeRzlF":{"name":"async()","abstract":"

    Executes an asynchronous request and returns the inferred decodable type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asS2Sm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as String.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2as10Foundation4DataVAHm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as Data.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asSo7NSImageCAGm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as Image.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async5usingq_AA11TransformerCyxq_Gm_tYaKSeRzr0_lF":{"name":"async(using:)","abstract":"

    Executes an asynchronous request and returns the decodable type based on transformer.

    ","parent_name":"Request"},"Classes/Request.html#/c:@CM@TermiNetwork@objc(cs)Request(im)copyWithZone:":{"name":"copy(with:)","abstract":"

    Clones a Request instance.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC15responseHeadersyACXDySDyS2SGSg_AA7TNErrorOSgtcF":{"name":"responseHeaders(_:)","abstract":"

    Reads the response headers from request after its completion.

    ","parent_name":"Request"},"Classes/Transformer.html#/s:12TermiNetwork11TransformerC9transformyq_xKF":{"name":"transform(_:)","abstract":"

    This is the default transform method. This method should be overriden by subclass

    ","parent_name":"Transformer"},"Classes/Transformer.html#/s:12TermiNetwork11TransformerCACyxq_Gycfc":{"name":"init()","abstract":"

    Default initializer

    ","parent_name":"Transformer"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC13configurationAA13ConfigurationCSgvp":{"name":"configuration","abstract":"

    The configuration object.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC7currentACSgvpZ":{"name":"current","abstract":"

    The current global environment. Use this property to set your environment globally.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3setyyAA0C8Protocol_pFZ":{"name":"set(_:)","abstract":"

    Set a global environment for TermiNetwork.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3set17environmentObjectyAC_tFZ":{"name":"set(environmentObject:)","abstract":"

    Set a global environment for TermiNetwork with a given environment object.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC6scheme4host6suffix4port13configurationAcA9URLSchemeO_SSAA4PathOSgSiSgAA13ConfigurationCSgtcfc":{"name":"init(scheme:host:suffix:port:configuration:)","abstract":"

    Initializes an environment.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3url13configurationACSS_AA13ConfigurationCSgtcfc":{"name":"init(url:configuration:)","abstract":"

    Initializes an environment with an URL string.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC9stringURLSSvp":{"name":"stringURL","abstract":"

    Get the String value of the environment.

    ","parent_name":"Environment"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC11cachePolicySo017NSURLRequestCacheE0VSgvp":{"name":"cachePolicy","abstract":"

    The cache policy of the request.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15timeoutIntervalSdSgvp":{"name":"timeoutInterval","abstract":"

    The timeout interval of the request.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15requestBodyTypeAA07RequesteF0OSgvp":{"name":"requestBodyType","abstract":"

    The request body type of the request. Can be either .xWWWFormURLEncoded or .JSON.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC16certificatePathsSaySSGSgvp":{"name":"certificatePaths","abstract":"

    The certificate file paths used for certificate pining.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC7verboseSbSgvp":{"name":"verbose","abstract":"

    Enables or disables debug mode.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC7headersSDyS2SGSgvp":{"name":"headers","abstract":"

    Additional headers of the request. They will be merged with the headers specified in RouteConfiguration.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC14mockDataBundleSo8NSBundleCSgvp":{"name":"mockDataBundle","abstract":"

    The Bundle object of mock data used when useMockData is true.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15mockDataEnabledSbSgvp":{"name":"mockDataEnabled","abstract":"

    Enables or disables request mocking.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC9mockDelaySd3min_Sd3maxtSgvp":{"name":"mockDelay","abstract":"

    Specifies a delay when mock data is used.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC19keyDecodingStrategy10Foundation11JSONDecoderC03KeyeF0OSgvp":{"name":"keyDecodingStrategy","abstract":"

    Specifies a key decoding strategy. Take a look","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC12interceptorsSayAA19InterceptorProtocol_pXpGSgvp":{"name":"interceptors","abstract":"

    Error handlers that will be used as a fallback after request failure.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC17requestMiddlewareSayAA07RequestE8Protocol_pXpGSgvp":{"name":"requestMiddleware","abstract":"

    Request middleware

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC11cachePolicy15timeoutInterval15requestBodyType16certificatePaths7verbose7headers14mockDataBundle0oP7Enabled0O5Delay19keyDecodingStrategy12interceptors0H10MiddlewareACSo017NSURLRequestCacheE0VSg_SdSgAA07RequestiJ0OSgSaySSGSgSbSgSDyS2SGSgSo8NSBundleCSgAYSd3min_Sd3maxtSg10Foundation11JSONDecoderC03KeyuV0OSgSayAA19InterceptorProtocol_pXpGSgSayAA07RequestX8Protocol_pXpGSgtcfc":{"name":"init(cachePolicy:timeoutInterval:requestBodyType:certificatePaths:verbose:headers:mockDataBundle:mockDataEnabled:mockDelay:keyDecodingStrategy:interceptors:requestMiddleware:)","abstract":"

    Default initializer of Configuration

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC4copy4withyp10ObjectiveC6NSZoneVSg_tF":{"name":"copy(with:)","abstract":"

    NSCopying implementation, used for cloning Configuration objects.

    ","parent_name":"Configuration"},"Classes/Cache.html#/s:12TermiNetwork5CacheC6sharedACvpZ":{"name":"shared","abstract":"

    Singleton object.

    ","parent_name":"Cache"},"Classes/Cache.html#/s:12TermiNetwork5CacheC09configureC010countLimit4sizeySi_SitF":{"name":"configureCache(countLimit:size:)","abstract":"

    Configures the cache.

    ","parent_name":"Cache"},"Classes/Cache.html#/s:12TermiNetwork5CacheC05clearC0yyF":{"name":"clearCache()","abstract":"

    Clears cache.

    ","parent_name":"Cache"},"Classes/Cache.html":{"name":"Cache","abstract":"

    Cache is used internally for various tasks such as in-memory caching image data."},"Classes/Configuration.html":{"name":"Configuration","abstract":"

    A configuration class that can be used with Environment, Router, Route and Request."},"Classes/Environment.html":{"name":"Environment","abstract":"

    The Environment contains information about host, port, configuration and it’s used in Request instances.

    "},"Classes/Transformer.html":{"name":"Transformer","abstract":"

    Inherit this class as to create your transformers."},"Classes/Request.html":{"name":"Request","abstract":"

    The core class of TermiNetwork. It handles the request creation and its execution.

    "},"Classes/Operation.html":{"name":"Operation","abstract":"

    This class is inherited by Request to control the execution of the request.

    "},"Classes/Queue.html":{"name":"Queue","abstract":"

    Use this class to create custom queues.

    "},"Classes/Reachability.html":{"name":"Reachability","abstract":"

    Adds Reachability supportt

    "},"Classes/RouteConfiguration.html":{"name":"RouteConfiguration","abstract":"

    Route configuration class which is used in Route protocol implementations.

    "},"Classes/Router.html":{"name":"Router","abstract":"

    This class is used to create instances of Router that can be used to start requests based on the given Route.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file +{"Typealiases.html#/s:12TermiNetwork14MockDelayRangea":{"name":"MockDelayRange","abstract":"

    Type for mock delay randomizer.

    "},"Typealiases.html#/s:12TermiNetwork28BeforeQueueStartCallbackTypea":{"name":"BeforeQueueStartCallbackType","abstract":"

    Hook type for beforeAllRequestsCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork28AfterAllRequestsCallbackTypea":{"name":"AfterAllRequestsCallbackType","abstract":"

    Hook type for afterAllRequestsCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork29BeforeEachRequestCallbackTypea":{"name":"BeforeEachRequestCallbackType","abstract":"

    Hook type for beforeEachRequestCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork28AfterEachRequestCallbackTypea":{"name":"AfterEachRequestCallbackType","abstract":"

    Hook type for afterEachRequestCallback queue property

    "},"Typealiases.html#/s:12TermiNetwork29ReachabilityUpdateClosureTypea":{"name":"ReachabilityUpdateClosureType","abstract":"

    Type for reachability monitoring updates

    "},"Typealiases.html#/s:12TermiNetwork9ImageTypea":{"name":"ImageType","abstract":"

    The Image type depending on platform: UIImage for iOS or NSImage for macOS.

    "},"Typealiases.html#/ImageType":{"name":"ImageType","abstract":"

    The Image type depending on platform: UIImage for iOS or NSImage for macOS.

    "},"Typealiases.html#/s:12TermiNetwork19ImagePreprocessTypea":{"name":"ImagePreprocessType","abstract":"

    Callback type for image preprocess used in UIImageView|NSImage|WKInterfaceImage and Image (SwiftUI) helpers

    "},"Typealiases.html#/s:12TermiNetwork25ImageOnFinishCallbackTypea":{"name":"ImageOnFinishCallbackType","abstract":"

    Callback type for image downloaded event.

    "},"Typealiases.html#/s:12TermiNetwork20ProgressCallbackTypea":{"name":"ProgressCallbackType","abstract":"

    Progress callback type

    "},"Typealiases.html#/s:12TermiNetwork15SuccessCallbacka":{"name":"SuccessCallback","abstract":"

    Custom type for success data task.

    "},"Typealiases.html#/s:12TermiNetwork26SuccessCallbackWithoutTypea":{"name":"SuccessCallbackWithoutType","abstract":"

    Custom type for success data task without type.

    "},"Typealiases.html#/s:12TermiNetwork23DownloadSuccessCallbacka":{"name":"DownloadSuccessCallback","abstract":"

    Custom type for download success data task.

    "},"Typealiases.html#/s:12TermiNetwork15FailureCallbacka":{"name":"FailureCallback","abstract":"

    Custom type for failure data task."},"Typealiases.html#/s:12TermiNetwork26FailureCallbackWithoutTypea":{"name":"FailureCallbackWithoutType","abstract":"

    Custom type for failure data task without type.

    "},"Typealiases.html#/s:12TermiNetwork23FailureCallbackWithTypea":{"name":"FailureCallbackWithType","abstract":"

    Custom type for failure data task with custom type.

    "},"Structs/Image.html#/s:12TermiNetwork5ImageV4bodyQrvp":{"name":"body","abstract":"

    Main body

    ","parent_name":"Image"},"Structs/Image.html#/s:12TermiNetwork5ImageV3url13configuration07defaultC08resizeTo010preprocessC08onFinishACSS_AA13ConfigurationCSgSo7NSImageCSgSo6CGSizeVSgA2NcSgyAO_AA7TNErrorOSgtcSgtcfc":{"name":"init(url:configuration:defaultImage:resizeTo:preprocessImage:onFinish:)","abstract":"

    Download a remote image with the specified url.

    ","parent_name":"Image"},"Structs/Image.html#/s:12TermiNetwork5ImageV7request07defaultC08resizeTo010preprocessC08onFinishAcA7RequestC_So7NSImageCSgSo6CGSizeVSgA2LcSgyAM_AA7TNErrorOSgtcSgtcfc":{"name":"init(request:defaultImage:resizeTo:preprocessImage:onFinish:)","abstract":"

    Download a remote image with the specified url.

    ","parent_name":"Image"},"Structs/Image.html":{"name":"Image","abstract":"

    Image is a SwiftUI component for downloading images.

    "},"Protocols/RouteProtocol.html#/s:12TermiNetwork13RouteProtocolP9configureAA0C13ConfigurationCyF":{"name":"configure()","abstract":"

    Configure your router by setting this function. See Examples/Routers/CityRoute.swift for an example.

    ","parent_name":"RouteProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP13processParams4withSDySSypSgGSgAH_tKF":{"name":"processParams(with:)","abstract":"

    Processes body params before they are sent to server.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP15processResponse4with10Foundation4DataVSgAI_tKF":{"name":"processResponse(with:)","abstract":"

    Processes response data after they have been received.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP24processHeadersBeforeSend4withSDyS2SGSgAG_tKF":{"name":"processHeadersBeforeSend(with:)","abstract":"

    Processes the response headers before they are sent to server.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolP26processHeadersAfterReceive4withSDyS2SGSgAG_tKF":{"name":"processHeadersAfterReceive(with:)","abstract":"

    Processes response headers after they have been received.

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/RequestMiddlewareProtocol.html#/s:12TermiNetwork25RequestMiddlewareProtocolPxycfc":{"name":"init()","abstract":"

    Required initializer

    ","parent_name":"RequestMiddlewareProtocol"},"Protocols/InterceptorProtocol.html#/s:12TermiNetwork19InterceptorProtocolP15requestFinished12responseData5error0E07proceedy10Foundation0H0VSg_AA7TNErrorOSgAA7RequestCyAA18InterceptionActionOctF":{"name":"requestFinished(responseData:error:request:proceed:)","abstract":"

    This function is called when a request is failed.

    ","parent_name":"InterceptorProtocol"},"Protocols/InterceptorProtocol.html#/s:12TermiNetwork19InterceptorProtocolPxycfc":{"name":"init()","abstract":"

    Default initializer

    ","parent_name":"InterceptorProtocol"},"Protocols/TransformerProtocol.html#/s:12TermiNetwork19TransformerProtocolP8FromTypeQa":{"name":"FromType","abstract":"

    Undocumented

    ","parent_name":"TransformerProtocol"},"Protocols/TransformerProtocol.html#/s:12TermiNetwork19TransformerProtocolP6ToTypeQa":{"name":"ToType","abstract":"

    Undocumented

    ","parent_name":"TransformerProtocol"},"Protocols/TransformerProtocol.html#/s:12TermiNetwork19TransformerProtocolP9transformy6ToTypeQz04FromG0QzKF":{"name":"transform(_:)","abstract":"

    Undocumented

    ","parent_name":"TransformerProtocol"},"Protocols/EnvironmentProtocol.html#/s:12TermiNetwork19EnvironmentProtocolP9configureAA0C0CyF":{"name":"configure()","abstract":"

    Thus is required in order to construct the url of the request.

    ","parent_name":"EnvironmentProtocol"},"Protocols/EnvironmentProtocol.html":{"name":"EnvironmentProtocol","abstract":"

    This protocol should be inhereted by the Environment enum.

    "},"Protocols/TransformerProtocol.html":{"name":"TransformerProtocol","abstract":"

    Undocumented

    "},"Protocols/InterceptorProtocol.html":{"name":"InterceptorProtocol","abstract":"

    Use this protocol to create interceptors that can be passed to Configuration instances."},"Protocols/RequestMiddlewareProtocol.html":{"name":"RequestMiddlewareProtocol","abstract":"

    This protocol is used to register a middleware in order to modify body and headers of a request. (e.g. it can be"},"Protocols/RouteProtocol.html":{"name":"RouteProtocol","abstract":"

    Use this protocol to define routers as enums.

    "},"Extensions/Decodable.html#/s:Se12TermiNetworkE9transform4withqd_0_AA11TransformerCyqd__qd_0_G_tKr0_lF":{"name":"transform(with:)","abstract":"

    Transforms the decodable object with the specified transformer.

    ","parent_name":"Decodable"},"Extensions/Data.html#/s:10Foundation4DataV12TermiNetworkE19deserializeJSONData23withKeyDecodingStrategyxAA11JSONDecoderC0hiJ0OSg_tKSeRzlF":{"name":"deserializeJSONData(withKeyDecodingStrategy:)","abstract":"

    Deserializes the JSON Data to the given type.

    ","parent_name":"Data"},"Extensions/Data.html#/s:10Foundation4DataV12TermiNetworkE12toJSONStringSSSgyF":{"name":"toJSONString()","abstract":"

    Creates a JSON string (pretty printed) from Data.

    ","parent_name":"Data"},"Extensions/Data.html":{"name":"Data","abstract":"

    Data extension for JSON deserialization.

    "},"Extensions/Decodable.html":{"name":"Decodable","abstract":"

    Decodable extension for Transformers

    "},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO10invalidURLyA2CmF":{"name":"invalidURL","abstract":"

    Thrown when the url is not valid.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15environmenotSetyA2CmF":{"name":"environmenotSet","abstract":"

    Thrown when the environment is not set.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO13invalidParamsyA2CmF":{"name":"invalidParams","abstract":"

    Thrown when the params contain invalid characters.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO24responseInvalidImageDatayA2CmF":{"name":"responseInvalidImageData","abstract":"

    Thrown when the response object is expected to be a UIImage but it’s not.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO17cannotDeserializeyACSS_s5Error_ptcACmF":{"name":"cannotDeserialize(_:_:)","abstract":"

    Thrown when the given Codable type cannot be deserialized. It contains the className and the error about deserilization.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO21cannotConvertToStringyA2CmF":{"name":"cannotConvertToString","abstract":"

    Thrown when the response object is expected to be a String but it’s not.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO12networkErroryACs0E0_pcACmF":{"name":"networkError(_:)","abstract":"

    Thrown when a network error occured. It contains the NSURLError.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO10notSuccessyACSi_10Foundation4DataVtcACmF":{"name":"notSuccess(_:_:)","abstract":"

    Thrown when a request is not succeeded (it’s not 2xx). It contains the HTTP Status Code and the response Data.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO9cancelledyACs5Error_pSgcACmF":{"name":"cancelled(_:)","abstract":"

    Thrown when a request is cancelled.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO12pinningErroryA2CmF":{"name":"pinningError","abstract":"

    Thorwn when certificate pinning validation fails.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15invalidMockDatayACSScACmF":{"name":"invalidMockData(_:)","abstract":"

    Thrown when a request is mocked but the data is invalid (e.g. cannot parse JSON).

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO15middlewareErroryACypcACmF":{"name":"middlewareError(_:)","abstract":"

    Thrown when a middleware reports an error. Throw this error in your custom middleware","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO22invalidMultipartParamsyA2CmF":{"name":"invalidMultipartParams","abstract":"

    Thrown when MultipartFormDataPartType param is expected but passed something else.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO14invalidFileURLyACSScACmF":{"name":"invalidFileURL(_:)","abstract":"

    Thrown when an invalid file path URL is passed on upload/download operations.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO27downloadedFileCannotBeSavedyACs5Error_pcACmF":{"name":"downloadedFileCannotBeSaved(_:)","abstract":"

    Thrown when the file cannot be saved to destination for some reason.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO25transformerNotImplementedyA2CmF":{"name":"transformerNotImplemented","abstract":"

    Thrown when the transform method is not implemented (overriden in subclass).

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO20transformationFailedyA2CmF":{"name":"transformationFailed","abstract":"

    Thrown when the transformation failed for some reason, e.g. Incompatible Types

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO22invalidCertificatePathyACSScACmF":{"name":"invalidCertificatePath(_:)","abstract":"

    Thrown when a certificate path is invalid.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO25cannotReadResponseHeadersyA2CmF":{"name":"cannotReadResponseHeaders","abstract":"

    Thrown when the response headers cannot be retrieved.","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO13emptyResponseyA2CmF":{"name":"emptyResponse","abstract":"

    Thrown when the response is empty.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO17reachabilityErroryA2CmF":{"name":"reachabilityError","abstract":"

    Thrown the reachability core function call cannot be itialized.

    ","parent_name":"TNError"},"Enums/TNError.html#/s:12TermiNetwork7TNErrorO20localizedDescriptionSSSgvp":{"name":"localizedDescription","abstract":"

    A localized description for TNError.

    ","parent_name":"TNError"},"Enums/Method.html#/s:12TermiNetwork6MethodO3getyA2CmF":{"name":"get","abstract":"

    GET request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO4headyA2CmF":{"name":"head","abstract":"

    HEAD request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO4postyA2CmF":{"name":"post","abstract":"

    POST request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO3putyA2CmF":{"name":"put","abstract":"

    PUT request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO6deleteyA2CmF":{"name":"delete","abstract":"

    DELETE request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO7connectyA2CmF":{"name":"connect","abstract":"

    CONNECT request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO7optionsyA2CmF":{"name":"options","abstract":"

    OPTIONS request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO5traceyA2CmF":{"name":"trace","abstract":"

    TRACE request method.

    ","parent_name":"Method"},"Enums/Method.html#/s:12TermiNetwork6MethodO5patchyA2CmF":{"name":"patch","abstract":"

    PATCH request method.

    ","parent_name":"Method"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO4wifiyA2CmF":{"name":"wifi","abstract":"

    WIFI state.

    ","parent_name":"ReachabilityState"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO8cellularyA2CmF":{"name":"cellular","abstract":"

    Cellular state.

    ","parent_name":"ReachabilityState"},"Enums/ReachabilityState.html#/s:12TermiNetwork17ReachabilityStateO11unavailableyA2CmF":{"name":"unavailable","abstract":"

    Unavailable state.

    ","parent_name":"ReachabilityState"},"Enums/QueueFailureMode.html#/s:12TermiNetwork16QueueFailureModeO9cancelAllyA2CmF":{"name":"cancelAll","abstract":"

    Cancels the execution of the queue after a request (operation) fails

    ","parent_name":"QueueFailureMode"},"Enums/QueueFailureMode.html#/s:12TermiNetwork16QueueFailureModeO8continueyA2CmF":{"name":"continue","abstract":"

    Continues the execution of the queue after a request (operation) fails

    ","parent_name":"QueueFailureMode"},"Enums/InterceptionAction.html#/s:12TermiNetwork18InterceptionActionO8continueyA2CmF":{"name":"continue","abstract":"

    Continue with the next interceptor or final callbacks if there is no other interceptor in chain.

    ","parent_name":"InterceptionAction"},"Enums/InterceptionAction.html#/s:12TermiNetwork18InterceptionActionO5retryyACSdSg_tcACmF":{"name":"retry(delay:)","abstract":"

    Retry the request

    ","parent_name":"InterceptionAction"},"Enums/Path.html#/s:12TermiNetwork4PathO09convertedC0SSvp":{"name":"convertedPath","abstract":"

    Returns the constructed path as String based on .path components.

    ","parent_name":"Path"},"Enums/Path.html#/s:12TermiNetwork4PathO4pathyACSaySSGcACmF":{"name":"path(_:)","abstract":"

    An enum case that can be used where path is needed. For example: .path([“user”, “1”, “details”]).","parent_name":"Path"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO5valueyACSS_tcACmF":{"name":"value(value:)","abstract":"

    Simple key-value case.

    ","parent_name":"MultipartFormDataPartType"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO4datayAC10Foundation0E0V_SSSgAHtcACmF":{"name":"data(data:filename:contentType:)","abstract":"

    Data case with filename and content-type.

    ","parent_name":"MultipartFormDataPartType"},"Enums/MultipartFormDataPartType.html#/s:12TermiNetwork25MultipartFormDataPartTypeO3urlyAC10Foundation3URLVcACmF":{"name":"url(_:)","abstract":"

    File URL case.

    ","parent_name":"MultipartFormDataPartType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO18xWWWFormURLEncodedyA2CmF":{"name":"xWWWFormURLEncoded","abstract":"

    The request params are sent as application/x-www-form-urlencoded mime type

    ","parent_name":"RequestBodyType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO4JSONyA2CmF":{"name":"JSON","abstract":"

    The request params are sent as application/json mime type

    ","parent_name":"RequestBodyType"},"Enums/RequestBodyType.html#/s:12TermiNetwork15RequestBodyTypeO17multipartFormDatayACSS_tcACmF":{"name":"multipartFormData(boundary:)","abstract":"

    Type for multipart/form-data body by giving the boundary as String. Typically you don’t have to set it manually","parent_name":"RequestBodyType"},"Enums/URLScheme.html#/s:12TermiNetwork9URLSchemeO4httpyA2CmF":{"name":"http","abstract":"

    HTTP Schema.

    ","parent_name":"URLScheme"},"Enums/URLScheme.html#/s:12TermiNetwork9URLSchemeO5httpsyA2CmF":{"name":"https","abstract":"

    HTTPS Schema.

    ","parent_name":"URLScheme"},"Enums/URLScheme.html":{"name":"URLScheme","abstract":"

    The url scheme that will be used in an environment.

    "},"Enums/RequestBodyType.html":{"name":"RequestBodyType","abstract":"

    The body type of the request

    "},"Enums/MultipartFormDataPartType.html":{"name":"MultipartFormDataPartType","abstract":"

    Enum to specify multipart/form-data parameters that can be used in upload tasks.

    "},"Enums/Path.html":{"name":"Path","abstract":"

    URL path representation based on String components.

    "},"Enums/InterceptionAction.html":{"name":"InterceptionAction","abstract":"

    This will be used in interceptor callback as an action to inteceptors chain.

    "},"Enums/QueueFailureMode.html":{"name":"QueueFailureMode","abstract":"

    Type that specifies the behavior of the queue when a request fails

    "},"Enums/ReachabilityState.html":{"name":"ReachabilityState","abstract":"

    Reachability State Type

    "},"Enums/Method.html":{"name":"Method","abstract":"

    The HTTP request method based on specification of https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html.

    "},"Enums/TNError.html":{"name":"TNError","abstract":"

    Custom error definition.

    "},"Classes/Router.html#/s:12TermiNetwork6RouterC13configurationAA13ConfigurationCSgvp":{"name":"configuration","abstract":"

    Router configuration

    ","parent_name":"Router"},"Classes/Router.html#/s:12TermiNetwork6RouterC11environment13configurationACyxGAA19EnvironmentProtocol_pSg_AA13ConfigurationCSgtcfc":{"name":"init(environment:configuration:)","abstract":"

    Initialize with environment that overrides the one set by Environment.set(_).

    ","parent_name":"Router"},"Classes/Router.html#/s:12TermiNetwork6RouterC7request3forAA7RequestCx_tF":{"name":"request(for:)","abstract":"

    Returns a Request that can be used later, e.g. for starting the request in a later time or canceling it.

    ","parent_name":"Router"},"Classes/RouteConfiguration.html#/s:12TermiNetwork18RouteConfigurationC6method4path6params7headers13configuration12mockFilePathAcA6MethodO_AA0L0OSDySSypSgGSgSDyS2SGSgAA0D0CSgAMSgtcfc":{"name":"init(method:path:params:headers:configuration:mockFilePath:)","abstract":"

    Route configuration initializer

    ","parent_name":"RouteConfiguration"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC8hostnameACSSSg_tcfc":{"name":"init(hostname:)","abstract":"

    Reachability initializer.

    ","parent_name":"Reachability"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC12monitorStateyyyAA0cE0OcSgKF":{"name":"monitorState(_:)","abstract":"

    Starts monitoring network state updates.

    ","parent_name":"Reachability"},"Classes/Reachability.html#/s:12TermiNetwork12ReachabilityC14stopMonitoringyyF":{"name":"stopMonitoring()","abstract":"

    Stops monitoring network state updates.

    ","parent_name":"Reachability"},"Classes/Queue.html#/s:12TermiNetwork5QueueC6sharedACvpZ":{"name":"shared","abstract":"

    The default queue of TermiNetwork used in all Request objects.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC25beforeAllRequestsCallbackyycSgvp":{"name":"beforeAllRequestsCallback","abstract":"

    A closure to be executed before the queue starts executing its requests.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC24afterAllRequestsCallbackySbcSgvp":{"name":"afterAllRequestsCallback","abstract":"

    A closure to be executed after the queue finishes the execution of all its requests.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC25beforeEachRequestCallbackyAA0F0CcSgvp":{"name":"beforeEachRequestCallback","abstract":"

    A closure to be executed before a request execution in queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC24afterEachRequestCallbackyAA0F0C_10Foundation4DataVSgSo13NSURLResponseCSgs5Error_pSgtcSgvp":{"name":"afterEachRequestCallback","abstract":"

    A closure to be executed after a request finishes its execution in queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/s:12TermiNetwork5QueueC11failureModeAcA0c7FailureE0O_tcfc":{"name":"init(failureMode:)","abstract":"

    Initializes a new queue.

    ","parent_name":"Queue"},"Classes/Queue.html#/c:@M@TermiNetwork@objc(cs)Queue(im)addOperation:":{"name":"addOperation(_:)","abstract":"

    Adds a Request instance into queue.

    ","parent_name":"Queue"},"Classes/Operation.html#/c:@M@TermiNetwork@objc(cs)Operation(py)executing":{"name":"isExecuting","abstract":"

    Overrides the default isExecuting variable inherited from Operation.

    ","parent_name":"Operation"},"Classes/Operation.html#/c:@M@TermiNetwork@objc(cs)Operation(py)finished":{"name":"isFinished","abstract":"

    Overrides the default isFinished variable inherited from Operation.

    ","parent_name":"Operation"},"Classes/Request.html#/s:12TermiNetwork7RequestC13configurationAA13ConfigurationCvp":{"name":"configuration","abstract":"

    The configuration of the request. This will be merged with the environment configuration if needed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC10retryCountSivp":{"name":"retryCount","abstract":"

    The number of the retries initiated by interceptor.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11environmentAA11EnvironmentCSgvp":{"name":"environment","abstract":"

    The environment of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC16associatedObjectyXlSgvp":{"name":"associatedObject","abstract":"

    An associated object with the request. Use this variable to optionaly assign an object to it, for later use.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7headersSDyS2SGSgvp":{"name":"headers","abstract":"

    The headers of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6paramsSDySSypSgGSgvp":{"name":"params","abstract":"

    The parameters of the request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC9mockDelaySdSgvp":{"name":"mockDelay","abstract":"

    The random delay for mocked responses that is generated by TermiNetwork (readonly)

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6method3url7headers6params13configurationAcA6MethodO_SSSDyS2SGSgSDySSypSgGSgAA13ConfigurationCSgtcfc":{"name":"init(method:url:headers:params:configuration:)","abstract":"

    Initializes a Request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5route11environmentAcA13RouteProtocol_p_AA11EnvironmentCSgtcfc":{"name":"init(route:environment:)","abstract":"

    Initializes a Request.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC02asC010Foundation10URLRequestVyKF":{"name":"asRequest()","abstract":"

    Converts a Request instance an URLRequest instance.

    ","parent_name":"Request"},"Classes/Request.html#/c:@M@TermiNetwork@objc(cs)Request(im)cancel":{"name":"cancel()","abstract":"

    Cancels a request

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5queueyAcA5QueueCF":{"name":"queue(_:)","abstract":"

    Set the queue in which the request will be executed.

    ","parent_name":"Request"},"Classes/Request.html#/c:@M@TermiNetwork@objc(cs)Request(im)start":{"name":"start()","abstract":"

    Overrides the start() function from Operation class.","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure15responseHandlerACyAA7TNErrorOc_tF":{"name":"failure(responseHandler:)","abstract":"

    Executed when the request is failed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACxm_yxctSeRzlF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerACxm_yxSg_AA7TNErrorOtctSeRzlF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being deserialized if possible, nil otherwise.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success11transformer15responseHandlerAcA11TransformerCyxq_Gm_yq_ctSeRzr0_lF":{"name":"success(transformer:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully transformed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure11transformer15responseHandlerAcA11TransformerCyxq_Gm_yq_Sg_AA7TNErrorOtctSeRzr0_lF":{"name":"failure(transformer:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being transformed to ToType if","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACSo7NSImageCm_yAHctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is a valid Image.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerACSSm_ySSctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is a valid String.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerACSSm_ySSSg_AA7TNErrorOtctF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being converted to String value if possible.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7success12responseType0E7HandlerAC10Foundation4DataVm_yAIctF":{"name":"success(responseType:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC7failure12responseType0E7HandlerAC10Foundation4DataVm_yAISg_AA7TNErrorOtctF":{"name":"failure(responseType:responseHandler:)","abstract":"

    Executed when the request is failed. The response is being converted to Data value if possible.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerACxm_ySi_SiSftcSgyxctSeRzlF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the upload request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload11transformer14progressUpdate15responseHandlerAcA11TransformerCyxq_Gm_ySi_SiSftcSgyq_ctSeRzr0_lF":{"name":"upload(transformer:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response has successfully transformed.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerACSSm_ySi_SiSftcSgySSctF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is String type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC6upload12responseType14progressUpdate0E7HandlerAC10Foundation4DataVm_ySi_SiSftcSgyAJctF":{"name":"upload(responseType:progressUpdate:responseHandler:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC8download15destinationPath14progressUpdate17completionHandlerACSS_ySi_SiSftcSgyyctF":{"name":"download(destinationPath:progressUpdate:completionHandler:)","abstract":"

    Executed when the download request is succeeded.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload2as14progressUpdatexxm_ySi_SiSftcSgtYaKSeRzlF":{"name":"asyncUpload(as:progressUpdate:)","abstract":"

    Executed when the upload request is succeeded and the response has successfully deserialized.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload5using14progressUpdateq_AA11TransformerCyxq_Gm_ySi_SiSftcSgtYaKSeRzr0_lF":{"name":"asyncUpload(using:progressUpdate:)","abstract":"

    Executes an asynchronous upload request and returns the decodable type based on transformer.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUplaod2as14progressUpdateS2Sm_ySi_SiSftcSgtYaKF":{"name":"asyncUplaod(as:progressUpdate:)","abstract":"

    Executed when the request is succeeded and the response is String type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC11asyncUpload2as14progressUpdate10Foundation4DataVAIm_ySi_SiSftcSgtYaKF":{"name":"asyncUpload(as:progressUpdate:)","abstract":"

    Executed when the request is succeeded and the response is Data type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC13asyncDownload15destinationPath14progressUpdateySS_ySi_SiSftcSgtYaKF":{"name":"asyncDownload(destinationPath:progressUpdate:)","abstract":"

    Executes an asynchronous download request and returns by throwing and error if it fails.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asxxm_tYaKSeRzlF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the inferred decodable type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5asyncxyYaKSeRzlF":{"name":"async()","abstract":"

    Executes an asynchronous request and returns the inferred decodable type.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asS2Sm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as String.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2as10Foundation4DataVAHm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as Data.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async2asSo7NSImageCAGm_tYaKF":{"name":"async(as:)","abstract":"

    Executes an asynchronous request and returns the data as Image.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC5async5usingq_AA11TransformerCyxq_Gm_tYaKSeRzr0_lF":{"name":"async(using:)","abstract":"

    Executes an asynchronous request and returns the decodable type based on transformer.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC21checkTaskCancellationyyKF":{"name":"checkTaskCancellation()","abstract":"

    Checks if the task has been cancelled and throws an Error in that case.

    ","parent_name":"Request"},"Classes/Request.html#/c:@CM@TermiNetwork@objc(cs)Request(im)copyWithZone:":{"name":"copy(with:)","abstract":"

    Clones a Request instance.

    ","parent_name":"Request"},"Classes/Request.html#/s:12TermiNetwork7RequestC15responseHeadersyACXDySDyS2SGSg_AA7TNErrorOSgtcF":{"name":"responseHeaders(_:)","abstract":"

    Reads the response headers from request after its completion.

    ","parent_name":"Request"},"Classes/Transformer.html#/s:12TermiNetwork11TransformerC9transformyq_xKF":{"name":"transform(_:)","abstract":"

    This is the default transform method. This method should be overriden by subclass

    ","parent_name":"Transformer"},"Classes/Transformer.html#/s:12TermiNetwork11TransformerCACyxq_Gycfc":{"name":"init()","abstract":"

    Default initializer

    ","parent_name":"Transformer"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC13configurationAA13ConfigurationCSgvp":{"name":"configuration","abstract":"

    The configuration object.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC7currentACSgvpZ":{"name":"current","abstract":"

    The current global environment. Use this property to set your environment globally.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3setyyAA0C8Protocol_pFZ":{"name":"set(_:)","abstract":"

    Set a global environment for TermiNetwork.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3set17environmentObjectyAC_tFZ":{"name":"set(environmentObject:)","abstract":"

    Set a global environment for TermiNetwork with a given environment object.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC6scheme4host6suffix4port13configurationAcA9URLSchemeO_SSAA4PathOSgSiSgAA13ConfigurationCSgtcfc":{"name":"init(scheme:host:suffix:port:configuration:)","abstract":"

    Initializes an environment.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC3url13configurationACSS_AA13ConfigurationCSgtcfc":{"name":"init(url:configuration:)","abstract":"

    Initializes an environment with an URL string.

    ","parent_name":"Environment"},"Classes/Environment.html#/s:12TermiNetwork11EnvironmentC9stringURLSSvp":{"name":"stringURL","abstract":"

    Get the String value of the environment.

    ","parent_name":"Environment"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC11cachePolicySo017NSURLRequestCacheE0VSgvp":{"name":"cachePolicy","abstract":"

    The cache policy of the request.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15timeoutIntervalSdSgvp":{"name":"timeoutInterval","abstract":"

    The timeout interval of the request.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15requestBodyTypeAA07RequesteF0OSgvp":{"name":"requestBodyType","abstract":"

    The request body type of the request. Can be either .xWWWFormURLEncoded or .JSON.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC16certificatePathsSaySSGSgvp":{"name":"certificatePaths","abstract":"

    The certificate file paths used for certificate pining.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC7verboseSbSgvp":{"name":"verbose","abstract":"

    Enables or disables debug mode.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC7headersSDyS2SGSgvp":{"name":"headers","abstract":"

    Additional headers of the request. They will be merged with the headers specified in RouteConfiguration.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC14mockDataBundleSo8NSBundleCSgvp":{"name":"mockDataBundle","abstract":"

    The Bundle object of mock data used when useMockData is true.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC15mockDataEnabledSbSgvp":{"name":"mockDataEnabled","abstract":"

    Enables or disables request mocking.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC9mockDelaySd3min_Sd3maxtSgvp":{"name":"mockDelay","abstract":"

    Specifies a delay when mock data is used.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC19keyDecodingStrategy10Foundation11JSONDecoderC03KeyeF0OSgvp":{"name":"keyDecodingStrategy","abstract":"

    Specifies a key decoding strategy. Take a look","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC12interceptorsSayAA19InterceptorProtocol_pXpGSgvp":{"name":"interceptors","abstract":"

    Error handlers that will be used as a fallback after request failure.

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC17requestMiddlewareSayAA07RequestE8Protocol_pXpGSgvp":{"name":"requestMiddleware","abstract":"

    Request middleware

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC11cachePolicy15timeoutInterval15requestBodyType16certificatePaths7verbose7headers14mockDataBundle0oP7Enabled0O5Delay19keyDecodingStrategy12interceptors0H10MiddlewareACSo017NSURLRequestCacheE0VSg_SdSgAA07RequestiJ0OSgSaySSGSgSbSgSDyS2SGSgSo8NSBundleCSgAYSd3min_Sd3maxtSg10Foundation11JSONDecoderC03KeyuV0OSgSayAA19InterceptorProtocol_pXpGSgSayAA07RequestX8Protocol_pXpGSgtcfc":{"name":"init(cachePolicy:timeoutInterval:requestBodyType:certificatePaths:verbose:headers:mockDataBundle:mockDataEnabled:mockDelay:keyDecodingStrategy:interceptors:requestMiddleware:)","abstract":"

    Default initializer of Configuration

    ","parent_name":"Configuration"},"Classes/Configuration.html#/s:12TermiNetwork13ConfigurationC4copy4withyp10ObjectiveC6NSZoneVSg_tF":{"name":"copy(with:)","abstract":"

    NSCopying implementation, used for cloning Configuration objects.

    ","parent_name":"Configuration"},"Classes/Cache.html#/s:12TermiNetwork5CacheC6sharedACvpZ":{"name":"shared","abstract":"

    Singleton object.

    ","parent_name":"Cache"},"Classes/Cache.html#/s:12TermiNetwork5CacheC09configureC010countLimit4sizeySi_SitF":{"name":"configureCache(countLimit:size:)","abstract":"

    Configures the cache.

    ","parent_name":"Cache"},"Classes/Cache.html#/s:12TermiNetwork5CacheC05clearC0yyF":{"name":"clearCache()","abstract":"

    Clears cache.

    ","parent_name":"Cache"},"Classes/Cache.html":{"name":"Cache","abstract":"

    Cache is used internally for various tasks such as in-memory caching image data."},"Classes/Configuration.html":{"name":"Configuration","abstract":"

    A configuration class that can be used with Environment, Router, Route and Request."},"Classes/Environment.html":{"name":"Environment","abstract":"

    The Environment contains information about host, port, configuration and it’s used in Request instances.

    "},"Classes/Transformer.html":{"name":"Transformer","abstract":"

    Inherit this class as to create your transformers."},"Classes/Request.html":{"name":"Request","abstract":"

    The core class of TermiNetwork. It handles the request creation and its execution.

    "},"Classes/Operation.html":{"name":"Operation","abstract":"

    This class is inherited by Request to control the execution of the request.

    "},"Classes/Queue.html":{"name":"Queue","abstract":"

    Use this class to create custom queues.

    "},"Classes/Reachability.html":{"name":"Reachability","abstract":"

    Adds Reachability supportt

    "},"Classes/RouteConfiguration.html":{"name":"RouteConfiguration","abstract":"

    Route configuration class which is used in Route protocol implementations.

    "},"Classes/Router.html":{"name":"Router","abstract":"

    This class is used to create instances of Router that can be used to start requests based on the given Route.

    "},"Classes.html":{"name":"Classes","abstract":"

    The following classes are available globally.

    "},"Enums.html":{"name":"Enumerations","abstract":"

    The following enumerations are available globally.

    "},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Protocols.html":{"name":"Protocols","abstract":"

    The following protocols are available globally.

    "},"Structs.html":{"name":"Structures","abstract":"

    The following structures are available globally.

    "},"Typealiases.html":{"name":"Type Aliases","abstract":"

    The following type aliases are available globally.

    "}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 3b652840..27be3e9f 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -1,6 +1,33 @@ { "warnings": [ - + { + "file": "/Users/v.a.panagiotopoulos/Projects/TermiNetwork/Source/Extensions/Operations/Decodable+Transformer.swift", + "line": 22, + "symbol": "TransformerProtocol", + "symbol_kind": "source.lang.swift.decl.protocol", + "warning": "undocumented" + }, + { + "file": "/Users/v.a.panagiotopoulos/Projects/TermiNetwork/Source/Extensions/Operations/Decodable+Transformer.swift", + "line": 23, + "symbol": "TransformerProtocol.FromType", + "symbol_kind": "source.lang.swift.decl.associatedtype", + "warning": "undocumented" + }, + { + "file": "/Users/v.a.panagiotopoulos/Projects/TermiNetwork/Source/Extensions/Operations/Decodable+Transformer.swift", + "line": 24, + "symbol": "TransformerProtocol.ToType", + "symbol_kind": "source.lang.swift.decl.associatedtype", + "warning": "undocumented" + }, + { + "file": "/Users/v.a.panagiotopoulos/Projects/TermiNetwork/Source/Extensions/Operations/Decodable+Transformer.swift", + "line": 26, + "symbol": "TransformerProtocol.transform(_:)", + "symbol_kind": "source.lang.swift.decl.function.method.instance", + "warning": "undocumented" + } ], "source_directory": "/Users/v.a.panagiotopoulos/Projects/TermiNetwork" } \ No newline at end of file