RequestInterceptor.html 95 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>RequestInterceptor Protocol Reference</title>
  5. <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
  6. <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
  7. <meta charset="utf-8">
  8. <script src="../js/jquery.min.js" defer></script>
  9. <script src="../js/jazzy.js" defer></script>
  10. <script src="../js/lunr.min.js" defer></script>
  11. <script src="../js/typeahead.jquery.js" defer></script>
  12. <script src="../js/jazzy.search.js" defer></script>
  13. </head>
  14. <body>
  15. <a name="//apple_ref/swift/Protocol/RequestInterceptor" class="dashAnchor"></a>
  16. <a title="RequestInterceptor Protocol Reference"></a>
  17. <header class="header">
  18. <p class="header-col header-col--primary">
  19. <a class="header-link" href="../index.html">
  20. Alamofire 5.11.0 Docs
  21. </a>
  22. (96% documented)
  23. </p>
  24. <div class="header-col--secondary">
  25. <form role="search" action="../search.json">
  26. <input type="text" placeholder="Search documentation" data-typeahead>
  27. </form>
  28. </div>
  29. <p class="header-col header-col--secondary">
  30. <a class="header-link" href="https://github.com/Alamofire/Alamofire">
  31. <img class="header-icon" src="../img/gh.png" alt="GitHub"/>
  32. View on GitHub
  33. </a>
  34. </p>
  35. <p class="header-col header-col--secondary">
  36. <a class="header-link" href="dash-feed://https%3A%2F%2Falamofire.github.io%2FAlamofire%2Fdocsets%2FAlamofire.xml">
  37. <img class="header-icon" src="../img/dash.png" alt="Dash"/>
  38. Install in Dash
  39. </a>
  40. </p>
  41. </header>
  42. <p class="breadcrumbs">
  43. <a class="breadcrumb" href="../index.html">Alamofire</a>
  44. <img class="carat" src="../img/carat.png" alt=""/>
  45. <a class="breadcrumb" href="../Protocols.html">Protocols</a>
  46. <img class="carat" src="../img/carat.png" alt=""/>
  47. RequestInterceptor Protocol Reference
  48. </p>
  49. <div class="content-wrapper">
  50. <nav class="navigation">
  51. <ul class="nav-groups">
  52. <li class="nav-group-name">
  53. <a class="nav-group-name-link" href="../Classes.html">Classes</a>
  54. <ul class="nav-group-tasks">
  55. <li class="nav-group-task">
  56. <a class="nav-group-task-link" href="../Classes/Adapter.html">Adapter</a>
  57. </li>
  58. <li class="nav-group-task">
  59. <a class="nav-group-task-link" href="../Classes/AlamofireNotifications.html">AlamofireNotifications</a>
  60. </li>
  61. <li class="nav-group-task">
  62. <a class="nav-group-task-link" href="../Classes/AuthenticationInterceptor.html">AuthenticationInterceptor</a>
  63. </li>
  64. <li class="nav-group-task">
  65. <a class="nav-group-task-link" href="../Classes/AuthenticationInterceptor/RefreshWindow.html">– RefreshWindow</a>
  66. </li>
  67. <li class="nav-group-task">
  68. <a class="nav-group-task-link" href="../Classes/ClosureEventMonitor.html">ClosureEventMonitor</a>
  69. </li>
  70. <li class="nav-group-task">
  71. <a class="nav-group-task-link" href="../Classes/CompositeEventMonitor.html">CompositeEventMonitor</a>
  72. </li>
  73. <li class="nav-group-task">
  74. <a class="nav-group-task-link" href="../Classes/CompositeTrustEvaluator.html">CompositeTrustEvaluator</a>
  75. </li>
  76. <li class="nav-group-task">
  77. <a class="nav-group-task-link" href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a>
  78. </li>
  79. <li class="nav-group-task">
  80. <a class="nav-group-task-link" href="../Classes/DataRequest.html">DataRequest</a>
  81. </li>
  82. <li class="nav-group-task">
  83. <a class="nav-group-task-link" href="../Classes/DataResponseSerializer.html">DataResponseSerializer</a>
  84. </li>
  85. <li class="nav-group-task">
  86. <a class="nav-group-task-link" href="../Classes/DataStreamRequest.html">DataStreamRequest</a>
  87. </li>
  88. <li class="nav-group-task">
  89. <a class="nav-group-task-link" href="../Classes/DataStreamRequest/Stream.html">– Stream</a>
  90. </li>
  91. <li class="nav-group-task">
  92. <a class="nav-group-task-link" href="../Classes/DataStreamRequest/Event.html">– Event</a>
  93. </li>
  94. <li class="nav-group-task">
  95. <a class="nav-group-task-link" href="../Classes/DataStreamRequest/Completion.html">– Completion</a>
  96. </li>
  97. <li class="nav-group-task">
  98. <a class="nav-group-task-link" href="../Classes/DataStreamRequest/CancellationToken.html">– CancellationToken</a>
  99. </li>
  100. <li class="nav-group-task">
  101. <a class="nav-group-task-link" href="../Classes/DecodableResponseSerializer.html">DecodableResponseSerializer</a>
  102. </li>
  103. <li class="nav-group-task">
  104. <a class="nav-group-task-link" href="../Classes/DefaultTrustEvaluator.html">DefaultTrustEvaluator</a>
  105. </li>
  106. <li class="nav-group-task">
  107. <a class="nav-group-task-link" href="../Classes/DisabledTrustEvaluator.html">DisabledTrustEvaluator</a>
  108. </li>
  109. <li class="nav-group-task">
  110. <a class="nav-group-task-link" href="../Classes/DownloadRequest.html">DownloadRequest</a>
  111. </li>
  112. <li class="nav-group-task">
  113. <a class="nav-group-task-link" href="../Classes/DownloadRequest/Options.html">– Options</a>
  114. </li>
  115. <li class="nav-group-task">
  116. <a class="nav-group-task-link" href="../Classes/DownloadRequest/Downloadable.html">– Downloadable</a>
  117. </li>
  118. <li class="nav-group-task">
  119. <a class="nav-group-task-link" href="../Classes/Interceptor.html">Interceptor</a>
  120. </li>
  121. <li class="nav-group-task">
  122. <a class="nav-group-task-link" href="../Classes/JSONParameterEncoder.html">JSONParameterEncoder</a>
  123. </li>
  124. <li class="nav-group-task">
  125. <a class="nav-group-task-link" href="../Classes/JSONResponseSerializer.html">JSONResponseSerializer</a>
  126. </li>
  127. <li class="nav-group-task">
  128. <a class="nav-group-task-link" href="../Classes/MultipartFormData.html">MultipartFormData</a>
  129. </li>
  130. <li class="nav-group-task">
  131. <a class="nav-group-task-link" href="../Classes/NetworkReachabilityManager.html">NetworkReachabilityManager</a>
  132. </li>
  133. <li class="nav-group-task">
  134. <a class="nav-group-task-link" href="../Classes/NetworkReachabilityManager/NetworkReachabilityStatus.html">– NetworkReachabilityStatus</a>
  135. </li>
  136. <li class="nav-group-task">
  137. <a class="nav-group-task-link" href="../Classes/OfflineRetrier.html">OfflineRetrier</a>
  138. </li>
  139. <li class="nav-group-task">
  140. <a class="nav-group-task-link" href="../Classes/PinnedCertificatesTrustEvaluator.html">PinnedCertificatesTrustEvaluator</a>
  141. </li>
  142. <li class="nav-group-task">
  143. <a class="nav-group-task-link" href="../Classes/PublicKeysTrustEvaluator.html">PublicKeysTrustEvaluator</a>
  144. </li>
  145. <li class="nav-group-task">
  146. <a class="nav-group-task-link" href="../Classes/Request.html">Request</a>
  147. </li>
  148. <li class="nav-group-task">
  149. <a class="nav-group-task-link" href="../Classes/Request/State.html">– State</a>
  150. </li>
  151. <li class="nav-group-task">
  152. <a class="nav-group-task-link" href="../Classes/Request/ResponseDisposition.html">– ResponseDisposition</a>
  153. </li>
  154. <li class="nav-group-task">
  155. <a class="nav-group-task-link" href="../Classes/Retrier.html">Retrier</a>
  156. </li>
  157. <li class="nav-group-task">
  158. <a class="nav-group-task-link" href="../Classes/RetryPolicy.html">RetryPolicy</a>
  159. </li>
  160. <li class="nav-group-task">
  161. <a class="nav-group-task-link" href="../Classes/RevocationTrustEvaluator.html">RevocationTrustEvaluator</a>
  162. </li>
  163. <li class="nav-group-task">
  164. <a class="nav-group-task-link" href="../Classes/RevocationTrustEvaluator/Options.html">– Options</a>
  165. </li>
  166. <li class="nav-group-task">
  167. <a class="nav-group-task-link" href="../Classes/ServerTrustManager.html">ServerTrustManager</a>
  168. </li>
  169. <li class="nav-group-task">
  170. <a class="nav-group-task-link" href="../Classes/Session.html">Session</a>
  171. </li>
  172. <li class="nav-group-task">
  173. <a class="nav-group-task-link" href="../Classes/Session/RequestSetup.html">– RequestSetup</a>
  174. </li>
  175. <li class="nav-group-task">
  176. <a class="nav-group-task-link" href="../Classes/SessionDelegate.html">SessionDelegate</a>
  177. </li>
  178. <li class="nav-group-task">
  179. <a class="nav-group-task-link" href="../Classes/StringResponseSerializer.html">StringResponseSerializer</a>
  180. </li>
  181. <li class="nav-group-task">
  182. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder.html">URLEncodedFormEncoder</a>
  183. </li>
  184. <li class="nav-group-task">
  185. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/ArrayEncoding.html">– ArrayEncoding</a>
  186. </li>
  187. <li class="nav-group-task">
  188. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/BoolEncoding.html">– BoolEncoding</a>
  189. </li>
  190. <li class="nav-group-task">
  191. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/DataEncoding.html">– DataEncoding</a>
  192. </li>
  193. <li class="nav-group-task">
  194. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/DateEncoding.html">– DateEncoding</a>
  195. </li>
  196. <li class="nav-group-task">
  197. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/KeyEncoding.html">– KeyEncoding</a>
  198. </li>
  199. <li class="nav-group-task">
  200. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/KeyPathEncoding.html">– KeyPathEncoding</a>
  201. </li>
  202. <li class="nav-group-task">
  203. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/NilEncoding.html">– NilEncoding</a>
  204. </li>
  205. <li class="nav-group-task">
  206. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/SpaceEncoding.html">– SpaceEncoding</a>
  207. </li>
  208. <li class="nav-group-task">
  209. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/Error.html">– Error</a>
  210. </li>
  211. <li class="nav-group-task">
  212. <a class="nav-group-task-link" href="../Classes/URLEncodedFormParameterEncoder.html">URLEncodedFormParameterEncoder</a>
  213. </li>
  214. <li class="nav-group-task">
  215. <a class="nav-group-task-link" href="../Classes/URLEncodedFormParameterEncoder/Destination.html">– Destination</a>
  216. </li>
  217. <li class="nav-group-task">
  218. <a class="nav-group-task-link" href="../Classes/UploadRequest.html">UploadRequest</a>
  219. </li>
  220. <li class="nav-group-task">
  221. <a class="nav-group-task-link" href="../Classes/UploadRequest/Uploadable.html">– Uploadable</a>
  222. </li>
  223. </ul>
  224. </li>
  225. <li class="nav-group-name">
  226. <a class="nav-group-name-link" href="../Global%20Variables.html">Global Variables</a>
  227. <ul class="nav-group-tasks">
  228. <li class="nav-group-task">
  229. <a class="nav-group-task-link" href="../Global%20Variables.html#/s:9Alamofire2AFAA7SessionCvp">AF</a>
  230. </li>
  231. </ul>
  232. </li>
  233. <li class="nav-group-name">
  234. <a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
  235. <ul class="nav-group-tasks">
  236. <li class="nav-group-task">
  237. <a class="nav-group-task-link" href="../Enums/AFError.html">AFError</a>
  238. </li>
  239. <li class="nav-group-task">
  240. <a class="nav-group-task-link" href="../Enums/AFError/MultipartEncodingFailureReason.html">– MultipartEncodingFailureReason</a>
  241. </li>
  242. <li class="nav-group-task">
  243. <a class="nav-group-task-link" href="../Enums/AFError/UnexpectedInputStreamLength.html">– UnexpectedInputStreamLength</a>
  244. </li>
  245. <li class="nav-group-task">
  246. <a class="nav-group-task-link" href="../Enums/AFError/ParameterEncodingFailureReason.html">– ParameterEncodingFailureReason</a>
  247. </li>
  248. <li class="nav-group-task">
  249. <a class="nav-group-task-link" href="../Enums/AFError/ParameterEncoderFailureReason.html">– ParameterEncoderFailureReason</a>
  250. </li>
  251. <li class="nav-group-task">
  252. <a class="nav-group-task-link" href="../Enums/AFError/ResponseValidationFailureReason.html">– ResponseValidationFailureReason</a>
  253. </li>
  254. <li class="nav-group-task">
  255. <a class="nav-group-task-link" href="../Enums/AFError/ResponseSerializationFailureReason.html">– ResponseSerializationFailureReason</a>
  256. </li>
  257. <li class="nav-group-task">
  258. <a class="nav-group-task-link" href="../Enums/AFError/ServerTrustFailureReason.html">– ServerTrustFailureReason</a>
  259. </li>
  260. <li class="nav-group-task">
  261. <a class="nav-group-task-link" href="../Enums/AFError/URLRequestValidationFailureReason.html">– URLRequestValidationFailureReason</a>
  262. </li>
  263. <li class="nav-group-task">
  264. <a class="nav-group-task-link" href="../Enums/AFInfo.html">AFInfo</a>
  265. </li>
  266. <li class="nav-group-task">
  267. <a class="nav-group-task-link" href="../Enums/AuthenticationError.html">AuthenticationError</a>
  268. </li>
  269. <li class="nav-group-task">
  270. <a class="nav-group-task-link" href="../Enums/RetryResult.html">RetryResult</a>
  271. </li>
  272. </ul>
  273. </li>
  274. <li class="nav-group-name">
  275. <a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
  276. <ul class="nav-group-tasks">
  277. <li class="nav-group-task">
  278. <a class="nav-group-task-link" href="../Extensions.html#/s:Sa">Array</a>
  279. </li>
  280. <li class="nav-group-task">
  281. <a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSBundle">Bundle</a>
  282. </li>
  283. <li class="nav-group-task">
  284. <a class="nav-group-task-link" href="../Extensions/CharacterSet.html">CharacterSet</a>
  285. </li>
  286. <li class="nav-group-task">
  287. <a class="nav-group-task-link" href="../Extensions/Error.html">Error</a>
  288. </li>
  289. <li class="nav-group-task">
  290. <a class="nav-group-task-link" href="../Extensions/HTTPURLResponse.html">HTTPURLResponse</a>
  291. </li>
  292. <li class="nav-group-task">
  293. <a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation11JSONDecoderC">JSONDecoder</a>
  294. </li>
  295. <li class="nav-group-task">
  296. <a class="nav-group-task-link" href="../Extensions/Notification.html">Notification</a>
  297. </li>
  298. <li class="nav-group-task">
  299. <a class="nav-group-task-link" href="../Extensions.html#/c:@T@OSStatus">OSStatus</a>
  300. </li>
  301. <li class="nav-group-task">
  302. <a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation19PropertyListDecoderC">PropertyListDecoder</a>
  303. </li>
  304. <li class="nav-group-task">
  305. <a class="nav-group-task-link" href="../Extensions.html#/c:@T@SecCertificateRef">SecCertificate</a>
  306. </li>
  307. <li class="nav-group-task">
  308. <a class="nav-group-task-link" href="../Extensions.html#/c:@T@SecPolicyRef">SecPolicy</a>
  309. </li>
  310. <li class="nav-group-task">
  311. <a class="nav-group-task-link" href="../Extensions.html#/c:@T@SecTrustRef">SecTrust</a>
  312. </li>
  313. <li class="nav-group-task">
  314. <a class="nav-group-task-link" href="../Extensions.html#/c:@E@SecTrustResultType">SecTrustResultType</a>
  315. </li>
  316. <li class="nav-group-task">
  317. <a class="nav-group-task-link" href="../Extensions/String.html">String</a>
  318. </li>
  319. <li class="nav-group-task">
  320. <a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
  321. </li>
  322. <li class="nav-group-task">
  323. <a class="nav-group-task-link" href="../Extensions/URLComponents.html">URLComponents</a>
  324. </li>
  325. <li class="nav-group-task">
  326. <a class="nav-group-task-link" href="../Extensions/URLRequest.html">URLRequest</a>
  327. </li>
  328. <li class="nav-group-task">
  329. <a class="nav-group-task-link" href="../Extensions/URLSessionConfiguration.html">URLSessionConfiguration</a>
  330. </li>
  331. <li class="nav-group-task">
  332. <a class="nav-group-task-link" href="../Extensions/%5BServerTrustEvaluating%5D.html">[ServerTrustEvaluating]</a>
  333. </li>
  334. </ul>
  335. </li>
  336. <li class="nav-group-name">
  337. <a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
  338. <ul class="nav-group-tasks">
  339. <li class="nav-group-task">
  340. <a class="nav-group-task-link" href="../Protocols/AlamofireExtended.html">AlamofireExtended</a>
  341. </li>
  342. <li class="nav-group-task">
  343. <a class="nav-group-task-link" href="../Protocols/AuthenticationCredential.html">AuthenticationCredential</a>
  344. </li>
  345. <li class="nav-group-task">
  346. <a class="nav-group-task-link" href="../Protocols/Authenticator.html">Authenticator</a>
  347. </li>
  348. <li class="nav-group-task">
  349. <a class="nav-group-task-link" href="../Protocols/CachedResponseHandler.html">CachedResponseHandler</a>
  350. </li>
  351. <li class="nav-group-task">
  352. <a class="nav-group-task-link" href="../Protocols/DataDecoder.html">DataDecoder</a>
  353. </li>
  354. <li class="nav-group-task">
  355. <a class="nav-group-task-link" href="../Protocols/DataPreprocessor.html">DataPreprocessor</a>
  356. </li>
  357. <li class="nav-group-task">
  358. <a class="nav-group-task-link" href="../Protocols/DataResponseSerializerProtocol.html">DataResponseSerializerProtocol</a>
  359. </li>
  360. <li class="nav-group-task">
  361. <a class="nav-group-task-link" href="../Protocols/DataStreamSerializer.html">DataStreamSerializer</a>
  362. </li>
  363. <li class="nav-group-task">
  364. <a class="nav-group-task-link" href="../Protocols/DownloadResponseSerializerProtocol.html">DownloadResponseSerializerProtocol</a>
  365. </li>
  366. <li class="nav-group-task">
  367. <a class="nav-group-task-link" href="../Protocols/EmptyResponse.html">EmptyResponse</a>
  368. </li>
  369. <li class="nav-group-task">
  370. <a class="nav-group-task-link" href="../Protocols/EventMonitor.html">EventMonitor</a>
  371. </li>
  372. <li class="nav-group-task">
  373. <a class="nav-group-task-link" href="../Protocols/ParameterEncoder.html">ParameterEncoder</a>
  374. </li>
  375. <li class="nav-group-task">
  376. <a class="nav-group-task-link" href="../Protocols/ParameterEncoding.html">ParameterEncoding</a>
  377. </li>
  378. <li class="nav-group-task">
  379. <a class="nav-group-task-link" href="../Protocols/RedirectHandler.html">RedirectHandler</a>
  380. </li>
  381. <li class="nav-group-task">
  382. <a class="nav-group-task-link" href="../Protocols/RequestAdapter.html">RequestAdapter</a>
  383. </li>
  384. <li class="nav-group-task">
  385. <a class="nav-group-task-link" href="../Protocols/RequestDelegate.html">RequestDelegate</a>
  386. </li>
  387. <li class="nav-group-task">
  388. <a class="nav-group-task-link" href="../Protocols/RequestInterceptor.html">RequestInterceptor</a>
  389. </li>
  390. <li class="nav-group-task">
  391. <a class="nav-group-task-link" href="../Protocols/RequestRetrier.html">RequestRetrier</a>
  392. </li>
  393. <li class="nav-group-task">
  394. <a class="nav-group-task-link" href="../Protocols/ResponseSerializer.html">ResponseSerializer</a>
  395. </li>
  396. <li class="nav-group-task">
  397. <a class="nav-group-task-link" href="../Protocols/ServerTrustEvaluating.html">ServerTrustEvaluating</a>
  398. </li>
  399. <li class="nav-group-task">
  400. <a class="nav-group-task-link" href="../Protocols/URLConvertible.html">URLConvertible</a>
  401. </li>
  402. <li class="nav-group-task">
  403. <a class="nav-group-task-link" href="../Protocols/URLRequestConvertible.html">URLRequestConvertible</a>
  404. </li>
  405. <li class="nav-group-task">
  406. <a class="nav-group-task-link" href="../Protocols.html#/s:9Alamofire17UploadConvertibleP">UploadConvertible</a>
  407. </li>
  408. <li class="nav-group-task">
  409. <a class="nav-group-task-link" href="../Protocols/UploadableConvertible.html">UploadableConvertible</a>
  410. </li>
  411. <li class="nav-group-task">
  412. <a class="nav-group-task-link" href="../Protocols/WebSocketMessageSerializer.html">WebSocketMessageSerializer</a>
  413. </li>
  414. </ul>
  415. </li>
  416. <li class="nav-group-name">
  417. <a class="nav-group-name-link" href="../Structs.html">Structures</a>
  418. <ul class="nav-group-tasks">
  419. <li class="nav-group-task">
  420. <a class="nav-group-task-link" href="../Structs/AlamofireExtension.html">AlamofireExtension</a>
  421. </li>
  422. <li class="nav-group-task">
  423. <a class="nav-group-task-link" href="../Structs/DataResponse.html">DataResponse</a>
  424. </li>
  425. <li class="nav-group-task">
  426. <a class="nav-group-task-link" href="../Structs/DataResponsePublisher.html">DataResponsePublisher</a>
  427. </li>
  428. <li class="nav-group-task">
  429. <a class="nav-group-task-link" href="../Structs/DataStreamPublisher.html">DataStreamPublisher</a>
  430. </li>
  431. <li class="nav-group-task">
  432. <a class="nav-group-task-link" href="../Structs/DataStreamTask.html">DataStreamTask</a>
  433. </li>
  434. <li class="nav-group-task">
  435. <a class="nav-group-task-link" href="../Structs/DataTask.html">DataTask</a>
  436. </li>
  437. <li class="nav-group-task">
  438. <a class="nav-group-task-link" href="../Structs/DecodableStreamSerializer.html">DecodableStreamSerializer</a>
  439. </li>
  440. <li class="nav-group-task">
  441. <a class="nav-group-task-link" href="../Structs/DecodableWebSocketMessageDecoder.html">DecodableWebSocketMessageDecoder</a>
  442. </li>
  443. <li class="nav-group-task">
  444. <a class="nav-group-task-link" href="../Structs/DecodableWebSocketMessageDecoder/Error.html">– Error</a>
  445. </li>
  446. <li class="nav-group-task">
  447. <a class="nav-group-task-link" href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a>
  448. </li>
  449. <li class="nav-group-task">
  450. <a class="nav-group-task-link" href="../Structs/DeflateRequestCompressor/DuplicateHeaderBehavior.html">– DuplicateHeaderBehavior</a>
  451. </li>
  452. <li class="nav-group-task">
  453. <a class="nav-group-task-link" href="../Structs/DeflateRequestCompressor.html#/s:9Alamofire24DeflateRequestCompressorV20DuplicateHeaderErrorV">– DuplicateHeaderError</a>
  454. </li>
  455. <li class="nav-group-task">
  456. <a class="nav-group-task-link" href="../Structs/DownloadResponse.html">DownloadResponse</a>
  457. </li>
  458. <li class="nav-group-task">
  459. <a class="nav-group-task-link" href="../Structs/DownloadResponsePublisher.html">DownloadResponsePublisher</a>
  460. </li>
  461. <li class="nav-group-task">
  462. <a class="nav-group-task-link" href="../Structs/DownloadTask.html">DownloadTask</a>
  463. </li>
  464. <li class="nav-group-task">
  465. <a class="nav-group-task-link" href="../Structs/Empty.html">Empty</a>
  466. </li>
  467. <li class="nav-group-task">
  468. <a class="nav-group-task-link" href="../Structs/GoogleXSSIPreprocessor.html">GoogleXSSIPreprocessor</a>
  469. </li>
  470. <li class="nav-group-task">
  471. <a class="nav-group-task-link" href="../Structs/HTTPHeader.html">HTTPHeader</a>
  472. </li>
  473. <li class="nav-group-task">
  474. <a class="nav-group-task-link" href="../Structs/HTTPHeaders.html">HTTPHeaders</a>
  475. </li>
  476. <li class="nav-group-task">
  477. <a class="nav-group-task-link" href="../Structs/HTTPMethod.html">HTTPMethod</a>
  478. </li>
  479. <li class="nav-group-task">
  480. <a class="nav-group-task-link" href="../Structs/JSONEncoding.html">JSONEncoding</a>
  481. </li>
  482. <li class="nav-group-task">
  483. <a class="nav-group-task-link" href="../Structs/JSONEncoding/Error.html">– Error</a>
  484. </li>
  485. <li class="nav-group-task">
  486. <a class="nav-group-task-link" href="../Structs/PassthroughPreprocessor.html">PassthroughPreprocessor</a>
  487. </li>
  488. <li class="nav-group-task">
  489. <a class="nav-group-task-link" href="../Structs/PassthroughStreamSerializer.html">PassthroughStreamSerializer</a>
  490. </li>
  491. <li class="nav-group-task">
  492. <a class="nav-group-task-link" href="../Structs/Redirector.html">Redirector</a>
  493. </li>
  494. <li class="nav-group-task">
  495. <a class="nav-group-task-link" href="../Structs/Redirector/Behavior.html">– Behavior</a>
  496. </li>
  497. <li class="nav-group-task">
  498. <a class="nav-group-task-link" href="../Structs/RequestAdapterState.html">RequestAdapterState</a>
  499. </li>
  500. <li class="nav-group-task">
  501. <a class="nav-group-task-link" href="../Structs/ResponseCacher.html">ResponseCacher</a>
  502. </li>
  503. <li class="nav-group-task">
  504. <a class="nav-group-task-link" href="../Structs/ResponseCacher/Behavior.html">– Behavior</a>
  505. </li>
  506. <li class="nav-group-task">
  507. <a class="nav-group-task-link" href="../Structs/StreamOf.html">StreamOf</a>
  508. </li>
  509. <li class="nav-group-task">
  510. <a class="nav-group-task-link" href="../Structs/StreamOf/Iterator.html">– Iterator</a>
  511. </li>
  512. <li class="nav-group-task">
  513. <a class="nav-group-task-link" href="../Structs/StringStreamSerializer.html">StringStreamSerializer</a>
  514. </li>
  515. <li class="nav-group-task">
  516. <a class="nav-group-task-link" href="../Structs/URLEncoding.html">URLEncoding</a>
  517. </li>
  518. <li class="nav-group-task">
  519. <a class="nav-group-task-link" href="../Structs/URLEncoding/Destination.html">– Destination</a>
  520. </li>
  521. <li class="nav-group-task">
  522. <a class="nav-group-task-link" href="../Structs/URLEncoding/ArrayEncoding.html">– ArrayEncoding</a>
  523. </li>
  524. <li class="nav-group-task">
  525. <a class="nav-group-task-link" href="../Structs/URLEncoding/BoolEncoding.html">– BoolEncoding</a>
  526. </li>
  527. <li class="nav-group-task">
  528. <a class="nav-group-task-link" href="../Structs/URLResponseSerializer.html">URLResponseSerializer</a>
  529. </li>
  530. </ul>
  531. </li>
  532. <li class="nav-group-name">
  533. <a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
  534. <ul class="nav-group-tasks">
  535. <li class="nav-group-task">
  536. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire14AFDataResponsea">AFDataResponse</a>
  537. </li>
  538. <li class="nav-group-task">
  539. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire18AFDownloadResponsea">AFDownloadResponse</a>
  540. </li>
  541. <li class="nav-group-task">
  542. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire8AFResulta">AFResult</a>
  543. </li>
  544. <li class="nav-group-task">
  545. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire12AdaptHandlera">AdaptHandler</a>
  546. </li>
  547. <li class="nav-group-task">
  548. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire17DisabledEvaluatora">DisabledEvaluator</a>
  549. </li>
  550. <li class="nav-group-task">
  551. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire10Parametersa">Parameters</a>
  552. </li>
  553. <li class="nav-group-task">
  554. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire12RetryHandlera">RetryHandler</a>
  555. </li>
  556. </ul>
  557. </li>
  558. </ul>
  559. </nav>
  560. <article class="main-content">
  561. <section class="section">
  562. <div class="section-content top-matter">
  563. <h1>RequestInterceptor</h1>
  564. <div class="declaration">
  565. <div class="language">
  566. <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">protocol</span> <span class="kt">RequestInterceptor</span> <span class="p">:</span> <span class="kt"><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></span><span class="p">,</span> <span class="kt"><a href="../Protocols/RequestRetrier.html">RequestRetrier</a></span></code></pre>
  567. </div>
  568. </div>
  569. <p>Type that provides both <code><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></code> and <code><a href="../Protocols/RequestRetrier.html">RequestRetrier</a></code> functionality.</p>
  570. </div>
  571. </section>
  572. <section class="section">
  573. <div class="section-content">
  574. <div class="task-group">
  575. <ul class="item-container">
  576. <li class="item">
  577. <div>
  578. <code>
  579. <a name="/s:9Alamofire14RequestAdapterP5adapt_3for10completiony10Foundation10URLRequestV_AA7SessionCys6ResultOyAIs5Error_pGYbctF"></a>
  580. <a name="//apple_ref/swift/Method/adapt(_:for:completion:)" class="dashAnchor"></a>
  581. <a class="token" href="#/s:9Alamofire14RequestAdapterP5adapt_3for10completiony10Foundation10URLRequestV_AA7SessionCys6ResultOyAIs5Error_pGYbctF">adapt(_:<wbr>for:<wbr>completion:<wbr>)</a>
  582. </code>
  583. <span class="declaration-note">
  584. Extension method
  585. </span>
  586. </div>
  587. <div class="height-container">
  588. <div class="pointer-container"></div>
  589. <section class="section">
  590. <div class="pointer"></div>
  591. <div class="abstract">
  592. </div>
  593. <div class="declaration">
  594. <h4>Declaration</h4>
  595. <div class="language">
  596. <p class="aside-title">Swift</p>
  597. <pre class="highlight swift"><code><span class="kd">@preconcurrency</span>
  598. <span class="kd">public</span> <span class="kd">func</span> <span class="nf">adapt</span><span class="p">(</span><span class="n">_</span> <span class="nv">urlRequest</span><span class="p">:</span> <span class="kt">URLRequest</span><span class="p">,</span> <span class="k">for</span> <span class="nv">session</span><span class="p">:</span> <span class="kt"><a href="../Classes/Session.html">Session</a></span><span class="p">,</span> <span class="nv">completion</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kd">@Sendable</span> <span class="p">(</span><span class="kt">Result</span><span class="o">&lt;</span><span class="kt">URLRequest</span><span class="p">,</span> <span class="kd">any</span> <span class="kt">Error</span><span class="o">&gt;</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)</span></code></pre>
  599. </div>
  600. </div>
  601. </section>
  602. </div>
  603. </li>
  604. <li class="item">
  605. <div>
  606. <code>
  607. <a name="/s:9Alamofire14RequestRetrierP5retry_3for5dueTo10completionyAA0B0C_AA7SessionCs5Error_pyAA11RetryResultOYbctF"></a>
  608. <a name="//apple_ref/swift/Method/retry(_:for:dueTo:completion:)" class="dashAnchor"></a>
  609. <a class="token" href="#/s:9Alamofire14RequestRetrierP5retry_3for5dueTo10completionyAA0B0C_AA7SessionCs5Error_pyAA11RetryResultOYbctF">retry(_:<wbr>for:<wbr>dueTo:<wbr>completion:<wbr>)</a>
  610. </code>
  611. <span class="declaration-note">
  612. Extension method
  613. </span>
  614. </div>
  615. <div class="height-container">
  616. <div class="pointer-container"></div>
  617. <section class="section">
  618. <div class="pointer"></div>
  619. <div class="abstract">
  620. </div>
  621. <div class="declaration">
  622. <h4>Declaration</h4>
  623. <div class="language">
  624. <p class="aside-title">Swift</p>
  625. <pre class="highlight swift"><code><span class="kd">@preconcurrency</span>
  626. <span class="kd">public</span> <span class="kd">func</span> <span class="nf">retry</span><span class="p">(</span><span class="n">_</span> <span class="nv">request</span><span class="p">:</span> <span class="kt"><a href="../Classes/Request.html">Request</a></span><span class="p">,</span>
  627. <span class="k">for</span> <span class="nv">session</span><span class="p">:</span> <span class="kt"><a href="../Classes/Session.html">Session</a></span><span class="p">,</span>
  628. <span class="n">dueTo</span> <span class="nv">error</span><span class="p">:</span> <span class="kd">any</span> <span class="kt">Error</span><span class="p">,</span>
  629. <span class="nv">completion</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kd">@Sendable</span> <span class="p">(</span><span class="kt"><a href="../Enums/RetryResult.html">RetryResult</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)</span></code></pre>
  630. </div>
  631. </div>
  632. </section>
  633. </div>
  634. </li>
  635. </ul>
  636. </div>
  637. <div class="task-group">
  638. <div class="task-name-container">
  639. <a name="/Available%20where%20%60Self%60%20%3D%3D%20%60OfflineRetrier%60"></a>
  640. <a name="//apple_ref/swift/Section/Available where `Self` == `OfflineRetrier`" class="dashAnchor"></a>
  641. <div class="section-name-container">
  642. <a class="section-name-link" href="#/Available%20where%20%60Self%60%20%3D%3D%20%60OfflineRetrier%60"></a>
  643. <h3 class="section-name"><span>Available where <code>Self</code> == <code><a href="../Classes/OfflineRetrier.html">OfflineRetrier</a></code></span>
  644. </h3>
  645. </div>
  646. </div>
  647. <ul class="item-container">
  648. <li class="item">
  649. <div>
  650. <code>
  651. <a name="/s:9Alamofire18RequestInterceptorPA2A14OfflineRetrierCRszrlE07offlineE07monitor11maximumWait02isD5ErrorAE7Network13NWPathMonitorCyXA_8Dispatch0O12TimeIntervalOSbs0K0_pYbctFZ"></a>
  652. <a name="//apple_ref/swift/Method/offlineRetrier(monitor:maximumWait:isOfflineError:)" class="dashAnchor"></a>
  653. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A14OfflineRetrierCRszrlE07offlineE07monitor11maximumWait02isD5ErrorAE7Network13NWPathMonitorCyXA_8Dispatch0O12TimeIntervalOSbs0K0_pYbctFZ">offlineRetrier(monitor:<wbr>maximumWait:<wbr>isOfflineError:<wbr>)</a>
  654. </code>
  655. <span class="declaration-note">
  656. Extension method
  657. </span>
  658. </div>
  659. <div class="height-container">
  660. <div class="pointer-container"></div>
  661. <section class="section">
  662. <div class="pointer"></div>
  663. <div class="abstract">
  664. <p>Creates an instance from the provided <code>NWPathMonitor</code>, maximum wait for connectivity, and offline error predicate.</p>
  665. </div>
  666. <div class="declaration">
  667. <h4>Declaration</h4>
  668. <div class="language">
  669. <p class="aside-title">Swift</p>
  670. <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">offlineRetrier</span><span class="p">(</span>
  671. <span class="nv">monitor</span><span class="p">:</span> <span class="kd">@autoclosure</span> <span class="kd">@escaping</span> <span class="p">()</span> <span class="o">-&gt;</span> <span class="kt">NWPathMonitor</span> <span class="o">=</span> <span class="kt">NWPathMonitor</span><span class="p">(),</span>
  672. <span class="nv">maximumWait</span><span class="p">:</span> <span class="kt">DispatchTimeInterval</span> <span class="o">=</span> <span class="kt"><a href="../Classes/OfflineRetrier.html">OfflineRetrier</a></span><span class="o">.</span><span class="n">defaultWait</span><span class="p">,</span>
  673. <span class="nv">isOfflineError</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kd">@Sendable</span> <span class="p">(</span><span class="n">_</span> <span class="nv">error</span><span class="p">:</span> <span class="kd">any</span> <span class="kt">Error</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kt"><a href="../Classes/OfflineRetrier.html">OfflineRetrier</a></span><span class="o">.</span><span class="n">defaultIsOfflineError</span>
  674. <span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/OfflineRetrier.html">OfflineRetrier</a></span></code></pre>
  675. </div>
  676. </div>
  677. <div>
  678. <h4>Parameters</h4>
  679. <table class="graybox">
  680. <tbody>
  681. <tr>
  682. <td>
  683. <code>
  684. <em>monitor</em>
  685. </code>
  686. </td>
  687. <td>
  688. <div>
  689. <p><code>NWPathMonitor()</code> to use to detect connectivity. A new instance is created each time a
  690. request fails and retry may be needed.</p>
  691. </div>
  692. </td>
  693. </tr>
  694. <tr>
  695. <td>
  696. <code>
  697. <em>maximumWait</em>
  698. </code>
  699. </td>
  700. <td>
  701. <div>
  702. <p><code>DispatchTimeInterval</code> to wait for connectivity before timeout.</p>
  703. </div>
  704. </td>
  705. </tr>
  706. <tr>
  707. <td>
  708. <code>
  709. <em>isOfflineError</em>
  710. </code>
  711. </td>
  712. <td>
  713. <div>
  714. <p>Predicate closure used to determine whether a paricular <code>any Error</code> indicates connectivity
  715. is offline. Returning <code>false</code> moves to the next retrier, if any.</p>
  716. </div>
  717. </td>
  718. </tr>
  719. </tbody>
  720. </table>
  721. </div>
  722. </section>
  723. </div>
  724. </li>
  725. <li class="item">
  726. <div>
  727. <code>
  728. <a name="/s:9Alamofire18RequestInterceptorPA2A14OfflineRetrierCRszrlE07offlineE021requiredInterfaceType11maximumWait02isD5ErrorAE7Network11NWInterfaceV0hI0O_8Dispatch0P12TimeIntervalOSbs0M0_pYbctFZ"></a>
  729. <a name="//apple_ref/swift/Method/offlineRetrier(requiredInterfaceType:maximumWait:isOfflineError:)" class="dashAnchor"></a>
  730. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A14OfflineRetrierCRszrlE07offlineE021requiredInterfaceType11maximumWait02isD5ErrorAE7Network11NWInterfaceV0hI0O_8Dispatch0P12TimeIntervalOSbs0M0_pYbctFZ">offlineRetrier(requiredInterfaceType:<wbr>maximumWait:<wbr>isOfflineError:<wbr>)</a>
  731. </code>
  732. <span class="declaration-note">
  733. Extension method
  734. </span>
  735. </div>
  736. <div class="height-container">
  737. <div class="pointer-container"></div>
  738. <section class="section">
  739. <div class="pointer"></div>
  740. <div class="abstract">
  741. <p>Creates an instance using an <code>NWPathMonitor</code> configured with the provided <code>InterfaceType</code>, maximum wait for
  742. connectivity, and offline error predicate.</p>
  743. </div>
  744. <div class="declaration">
  745. <h4>Declaration</h4>
  746. <div class="language">
  747. <p class="aside-title">Swift</p>
  748. <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">offlineRetrier</span><span class="p">(</span>
  749. <span class="nv">requiredInterfaceType</span><span class="p">:</span> <span class="kt">NWInterface</span><span class="o">.</span><span class="kt">InterfaceType</span><span class="p">,</span>
  750. <span class="nv">maximumWait</span><span class="p">:</span> <span class="kt">DispatchTimeInterval</span> <span class="o">=</span> <span class="kt"><a href="../Classes/OfflineRetrier.html">OfflineRetrier</a></span><span class="o">.</span><span class="n">defaultWait</span><span class="p">,</span>
  751. <span class="nv">isOfflineError</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kd">@Sendable</span> <span class="p">(</span><span class="n">_</span> <span class="nv">error</span><span class="p">:</span> <span class="kd">any</span> <span class="kt">Error</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kt"><a href="../Classes/OfflineRetrier.html">OfflineRetrier</a></span><span class="o">.</span><span class="n">defaultIsOfflineError</span>
  752. <span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/OfflineRetrier.html">OfflineRetrier</a></span></code></pre>
  753. </div>
  754. </div>
  755. <div>
  756. <h4>Parameters</h4>
  757. <table class="graybox">
  758. <tbody>
  759. <tr>
  760. <td>
  761. <code>
  762. <em>monitor</em>
  763. </code>
  764. </td>
  765. <td>
  766. <div>
  767. <p><code>NWInterface.InterfaceType</code> used to configured the <code>NWPathMonitor</code> each time one is needed.</p>
  768. </div>
  769. </td>
  770. </tr>
  771. <tr>
  772. <td>
  773. <code>
  774. <em>maximumWait</em>
  775. </code>
  776. </td>
  777. <td>
  778. <div>
  779. <p><code>DispatchTimeInterval</code> to wait for connectivity before timeout.</p>
  780. </div>
  781. </td>
  782. </tr>
  783. <tr>
  784. <td>
  785. <code>
  786. <em>isOfflineError</em>
  787. </code>
  788. </td>
  789. <td>
  790. <div>
  791. <p>Predicate closure used to determine whether a paricular <code>any Error</code> indicates connectivity
  792. is offline. Returning <code>false</code> moves to the next retrier, if any.</p>
  793. </div>
  794. </td>
  795. </tr>
  796. </tbody>
  797. </table>
  798. </div>
  799. </section>
  800. </div>
  801. </li>
  802. <li class="item">
  803. <div>
  804. <code>
  805. <a name="/s:9Alamofire18RequestInterceptorPA2A14OfflineRetrierCRszrlE07offlineE024prohibitedInterfaceTypes11maximumWait02isD5ErrorAESay7Network11NWInterfaceV0H4TypeOG_8Dispatch0Q12TimeIntervalOSbs0M0_pYbctFZ"></a>
  806. <a name="//apple_ref/swift/Method/offlineRetrier(prohibitedInterfaceTypes:maximumWait:isOfflineError:)" class="dashAnchor"></a>
  807. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A14OfflineRetrierCRszrlE07offlineE024prohibitedInterfaceTypes11maximumWait02isD5ErrorAESay7Network11NWInterfaceV0H4TypeOG_8Dispatch0Q12TimeIntervalOSbs0M0_pYbctFZ">offlineRetrier(prohibitedInterfaceTypes:<wbr>maximumWait:<wbr>isOfflineError:<wbr>)</a>
  808. </code>
  809. <span class="declaration-note">
  810. Extension method
  811. </span>
  812. </div>
  813. <div class="height-container">
  814. <div class="pointer-container"></div>
  815. <section class="section">
  816. <div class="pointer"></div>
  817. <div class="abstract">
  818. <p>Creates an instance using an <code>NWPathMonitor</code> configured with the provided <code>InterfaceType</code>s, maximum wait for
  819. connectivity, and offline error predicate.</p>
  820. </div>
  821. <div class="declaration">
  822. <h4>Declaration</h4>
  823. <div class="language">
  824. <p class="aside-title">Swift</p>
  825. <pre class="highlight swift"><code><span class="kd">@available</span><span class="p">(</span><span class="n">macOS</span> <span class="mi">11</span><span class="p">,</span> <span class="n">iOS</span> <span class="mi">14</span><span class="p">,</span> <span class="n">tvOS</span> <span class="mi">14</span><span class="p">,</span> <span class="n">watchOS</span> <span class="mi">7</span><span class="p">,</span> <span class="n">visionOS</span> <span class="mi">1</span><span class="p">,</span> <span class="o">*</span><span class="p">)</span>
  826. <span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">offlineRetrier</span><span class="p">(</span>
  827. <span class="nv">prohibitedInterfaceTypes</span><span class="p">:</span> <span class="p">[</span><span class="kt">NWInterface</span><span class="o">.</span><span class="kt">InterfaceType</span><span class="p">],</span>
  828. <span class="nv">maximumWait</span><span class="p">:</span> <span class="kt">DispatchTimeInterval</span> <span class="o">=</span> <span class="kt"><a href="../Classes/OfflineRetrier.html">OfflineRetrier</a></span><span class="o">.</span><span class="n">defaultWait</span><span class="p">,</span>
  829. <span class="nv">isOfflineError</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kd">@Sendable</span> <span class="p">(</span><span class="n">_</span> <span class="nv">error</span><span class="p">:</span> <span class="kd">any</span> <span class="kt">Error</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kt"><a href="../Classes/OfflineRetrier.html">OfflineRetrier</a></span><span class="o">.</span><span class="n">defaultIsOfflineError</span>
  830. <span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/OfflineRetrier.html">OfflineRetrier</a></span></code></pre>
  831. </div>
  832. </div>
  833. <div>
  834. <h4>Parameters</h4>
  835. <table class="graybox">
  836. <tbody>
  837. <tr>
  838. <td>
  839. <code>
  840. <em>monitor</em>
  841. </code>
  842. </td>
  843. <td>
  844. <div>
  845. <p><code>[NWInterface.InterfaceType]</code> used to configured the <code>NWPathMonitor</code> each time one is needed.</p>
  846. </div>
  847. </td>
  848. </tr>
  849. <tr>
  850. <td>
  851. <code>
  852. <em>maximumWait</em>
  853. </code>
  854. </td>
  855. <td>
  856. <div>
  857. <p><code>DispatchTimeInterval</code> to wait for connectivity before timeout.</p>
  858. </div>
  859. </td>
  860. </tr>
  861. <tr>
  862. <td>
  863. <code>
  864. <em>isOfflineError</em>
  865. </code>
  866. </td>
  867. <td>
  868. <div>
  869. <p>Predicate closure used to determine whether a paricular <code>any Error</code> indicates connectivity
  870. is offline. Returning <code>false</code> moves to the next retrier, if any.</p>
  871. </div>
  872. </td>
  873. </tr>
  874. </tbody>
  875. </table>
  876. </div>
  877. </section>
  878. </div>
  879. </li>
  880. </ul>
  881. </div>
  882. <div class="task-group">
  883. <div class="task-name-container">
  884. <a name="/Available%20where%20%60Self%60%20%3D%3D%20%60DeflateRequestCompressor%60"></a>
  885. <a name="//apple_ref/swift/Section/Available where `Self` == `DeflateRequestCompressor`" class="dashAnchor"></a>
  886. <div class="section-name-container">
  887. <a class="section-name-link" href="#/Available%20where%20%60Self%60%20%3D%3D%20%60DeflateRequestCompressor%60"></a>
  888. <h3 class="section-name"><span>Available where <code>Self</code> == <code><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></code></span>
  889. </h3>
  890. </div>
  891. </div>
  892. <ul class="item-container">
  893. <li class="item">
  894. <div>
  895. <code>
  896. <a name="/s:9Alamofire18RequestInterceptorPA2A07DeflateB10CompressorVRszrlE07deflateE0AEvpZ"></a>
  897. <a name="//apple_ref/swift/Variable/deflateCompressor" class="dashAnchor"></a>
  898. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A07DeflateB10CompressorVRszrlE07deflateE0AEvpZ">deflateCompressor</a>
  899. </code>
  900. <span class="declaration-note">
  901. Extension method
  902. </span>
  903. </div>
  904. <div class="height-container">
  905. <div class="pointer-container"></div>
  906. <section class="section">
  907. <div class="pointer"></div>
  908. <div class="abstract">
  909. <p>Create a <code><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></code> with default <code>duplicateHeaderBehavior</code> and <code>shouldCompressBodyData</code> values.</p>
  910. </div>
  911. <div class="declaration">
  912. <h4>Declaration</h4>
  913. <div class="language">
  914. <p class="aside-title">Swift</p>
  915. <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">deflateCompressor</span><span class="p">:</span> <span class="kt"><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
  916. </div>
  917. </div>
  918. </section>
  919. </div>
  920. </li>
  921. <li class="item">
  922. <div>
  923. <code>
  924. <a name="/s:9Alamofire18RequestInterceptorPA2A07DeflateB10CompressorVRszrlE07deflateE023duplicateHeaderBehavior22shouldCompressBodyDataA2E09DuplicatehI0O_Sb10Foundation0M0VYbctFZ"></a>
  925. <a name="//apple_ref/swift/Method/deflateCompressor(duplicateHeaderBehavior:shouldCompressBodyData:)" class="dashAnchor"></a>
  926. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A07DeflateB10CompressorVRszrlE07deflateE023duplicateHeaderBehavior22shouldCompressBodyDataA2E09DuplicatehI0O_Sb10Foundation0M0VYbctFZ">deflateCompressor(duplicateHeaderBehavior:<wbr>shouldCompressBodyData:<wbr>)</a>
  927. </code>
  928. <span class="declaration-note">
  929. Extension method
  930. </span>
  931. </div>
  932. <div class="height-container">
  933. <div class="pointer-container"></div>
  934. <section class="section">
  935. <div class="pointer"></div>
  936. <div class="abstract">
  937. <p>Creates a <code><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></code> with the provided <code>DuplicateHeaderBehavior</code> and <code>shouldCompressBodyData</code>
  938. closure.</p>
  939. </div>
  940. <div class="declaration">
  941. <h4>Declaration</h4>
  942. <div class="language">
  943. <p class="aside-title">Swift</p>
  944. <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">deflateCompressor</span><span class="p">(</span>
  945. <span class="nv">duplicateHeaderBehavior</span><span class="p">:</span> <span class="kt"><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></span><span class="o">.</span><span class="kt">DuplicateHeaderBehavior</span> <span class="o">=</span> <span class="o">.</span><span class="n">error</span><span class="p">,</span>
  946. <span class="nv">shouldCompressBodyData</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kd">@Sendable</span> <span class="p">(</span><span class="n">_</span> <span class="nv">bodyData</span><span class="p">:</span> <span class="kt">Data</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="p">{</span> <span class="n">_</span> <span class="k">in</span> <span class="kc">true</span> <span class="p">}</span>
  947. <span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></span></code></pre>
  948. </div>
  949. </div>
  950. <div>
  951. <h4>Parameters</h4>
  952. <table class="graybox">
  953. <tbody>
  954. <tr>
  955. <td>
  956. <code>
  957. <em>duplicateHeaderBehavior</em>
  958. </code>
  959. </td>
  960. <td>
  961. <div>
  962. <p><code>DuplicateHeaderBehavior</code> to use.</p>
  963. </div>
  964. </td>
  965. </tr>
  966. <tr>
  967. <td>
  968. <code>
  969. <em>shouldCompressBodyData</em>
  970. </code>
  971. </td>
  972. <td>
  973. <div>
  974. <p>Closure which determines whether the outgoing body data should be compressed. <code>true</code> by default.</p>
  975. </div>
  976. </td>
  977. </tr>
  978. </tbody>
  979. </table>
  980. </div>
  981. <div>
  982. <h4>Return Value</h4>
  983. <p>The <code><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></code>.</p>
  984. </div>
  985. </section>
  986. </div>
  987. </li>
  988. </ul>
  989. </div>
  990. <div class="task-group">
  991. <div class="task-name-container">
  992. <a name="/Available%20where%20%60Self%60%20%3D%3D%20%60Interceptor%60"></a>
  993. <a name="//apple_ref/swift/Section/Available where `Self` == `Interceptor`" class="dashAnchor"></a>
  994. <div class="section-name-container">
  995. <a class="section-name-link" href="#/Available%20where%20%60Self%60%20%3D%3D%20%60Interceptor%60"></a>
  996. <h3 class="section-name"><span>Available where <code>Self</code> == <code><a href="../Classes/Interceptor.html">Interceptor</a></code></span>
  997. </h3>
  998. </div>
  999. </div>
  1000. <ul class="item-container">
  1001. <li class="item">
  1002. <div>
  1003. <code>
  1004. <a name="/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor7adapter7retrierAEy10Foundation10URLRequestV_AA7SessionCys6ResultOyAKs5Error_pGctc_yAA0B0C_AMsAP_pyAA05RetryJ0OctctFZ"></a>
  1005. <a name="//apple_ref/swift/Method/interceptor(adapter:retrier:)" class="dashAnchor"></a>
  1006. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor7adapter7retrierAEy10Foundation10URLRequestV_AA7SessionCys6ResultOyAKs5Error_pGctc_yAA0B0C_AMsAP_pyAA05RetryJ0OctctFZ">interceptor(adapter:<wbr>retrier:<wbr>)</a>
  1007. </code>
  1008. <span class="declaration-note">
  1009. Extension method
  1010. </span>
  1011. </div>
  1012. <div class="height-container">
  1013. <div class="pointer-container"></div>
  1014. <section class="section">
  1015. <div class="pointer"></div>
  1016. <div class="abstract">
  1017. <p>Creates an <code><a href="../Classes/Interceptor.html">Interceptor</a></code> using the provided <code><a href="../Typealiases.html#/s:9Alamofire12AdaptHandlera">AdaptHandler</a></code> and <code><a href="../Typealiases.html#/s:9Alamofire12RetryHandlera">RetryHandler</a></code> closures.</p>
  1018. </div>
  1019. <div class="declaration">
  1020. <h4>Declaration</h4>
  1021. <div class="language">
  1022. <p class="aside-title">Swift</p>
  1023. <pre class="highlight swift"><code><span class="kd">@preconcurrency</span>
  1024. <span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">interceptor</span><span class="p">(</span><span class="nv">adapter</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire12AdaptHandlera">AdaptHandler</a></span><span class="p">,</span> <span class="nv">retrier</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire12RetryHandlera">RetryHandler</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/Interceptor.html">Interceptor</a></span></code></pre>
  1025. </div>
  1026. </div>
  1027. <div>
  1028. <h4>Parameters</h4>
  1029. <table class="graybox">
  1030. <tbody>
  1031. <tr>
  1032. <td>
  1033. <code>
  1034. <em>adapter</em>
  1035. </code>
  1036. </td>
  1037. <td>
  1038. <div>
  1039. <p><code>AdapterHandler</code>to use to adapt the request.</p>
  1040. </div>
  1041. </td>
  1042. </tr>
  1043. <tr>
  1044. <td>
  1045. <code>
  1046. <em>retrier</em>
  1047. </code>
  1048. </td>
  1049. <td>
  1050. <div>
  1051. <p><code><a href="../Typealiases.html#/s:9Alamofire12RetryHandlera">RetryHandler</a></code> to use to retry the request.</p>
  1052. </div>
  1053. </td>
  1054. </tr>
  1055. </tbody>
  1056. </table>
  1057. </div>
  1058. <div>
  1059. <h4>Return Value</h4>
  1060. <p>The <code><a href="../Classes/Interceptor.html">Interceptor</a></code>.</p>
  1061. </div>
  1062. </section>
  1063. </div>
  1064. </li>
  1065. <li class="item">
  1066. <div>
  1067. <code>
  1068. <a name="/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor7adapter7retrierAeA0B7Adapter_p_AA0B7Retrier_ptFZ"></a>
  1069. <a name="//apple_ref/swift/Method/interceptor(adapter:retrier:)" class="dashAnchor"></a>
  1070. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor7adapter7retrierAeA0B7Adapter_p_AA0B7Retrier_ptFZ">interceptor(adapter:<wbr>retrier:<wbr>)</a>
  1071. </code>
  1072. <span class="declaration-note">
  1073. Extension method
  1074. </span>
  1075. </div>
  1076. <div class="height-container">
  1077. <div class="pointer-container"></div>
  1078. <section class="section">
  1079. <div class="pointer"></div>
  1080. <div class="abstract">
  1081. <p>Creates an <code><a href="../Classes/Interceptor.html">Interceptor</a></code> using the provided <code><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></code> and <code><a href="../Protocols/RequestRetrier.html">RequestRetrier</a></code> instances.</p>
  1082. </div>
  1083. <div class="declaration">
  1084. <h4>Declaration</h4>
  1085. <div class="language">
  1086. <p class="aside-title">Swift</p>
  1087. <pre class="highlight swift"><code><span class="kd">@preconcurrency</span>
  1088. <span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">interceptor</span><span class="p">(</span><span class="nv">adapter</span><span class="p">:</span> <span class="kd">any</span> <span class="kt"><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></span><span class="p">,</span> <span class="nv">retrier</span><span class="p">:</span> <span class="kd">any</span> <span class="kt"><a href="../Protocols/RequestRetrier.html">RequestRetrier</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/Interceptor.html">Interceptor</a></span></code></pre>
  1089. </div>
  1090. </div>
  1091. <div>
  1092. <h4>Parameters</h4>
  1093. <table class="graybox">
  1094. <tbody>
  1095. <tr>
  1096. <td>
  1097. <code>
  1098. <em>adapter</em>
  1099. </code>
  1100. </td>
  1101. <td>
  1102. <div>
  1103. <p><code><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></code> to use to adapt the request</p>
  1104. </div>
  1105. </td>
  1106. </tr>
  1107. <tr>
  1108. <td>
  1109. <code>
  1110. <em>retrier</em>
  1111. </code>
  1112. </td>
  1113. <td>
  1114. <div>
  1115. <p><code><a href="../Protocols/RequestRetrier.html">RequestRetrier</a></code> to use to retry the request.</p>
  1116. </div>
  1117. </td>
  1118. </tr>
  1119. </tbody>
  1120. </table>
  1121. </div>
  1122. <div>
  1123. <h4>Return Value</h4>
  1124. <p>The <code><a href="../Classes/Interceptor.html">Interceptor</a></code>.</p>
  1125. </div>
  1126. </section>
  1127. </div>
  1128. </li>
  1129. <li class="item">
  1130. <div>
  1131. <code>
  1132. <a name="/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor8adapters8retriers12interceptorsAESayAA0B7Adapter_pG_SayAA0B7Retrier_pGSayAaB_pGtFZ"></a>
  1133. <a name="//apple_ref/swift/Method/interceptor(adapters:retriers:interceptors:)" class="dashAnchor"></a>
  1134. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor8adapters8retriers12interceptorsAESayAA0B7Adapter_pG_SayAA0B7Retrier_pGSayAaB_pGtFZ">interceptor(adapters:<wbr>retriers:<wbr>interceptors:<wbr>)</a>
  1135. </code>
  1136. <span class="declaration-note">
  1137. Extension method
  1138. </span>
  1139. </div>
  1140. <div class="height-container">
  1141. <div class="pointer-container"></div>
  1142. <section class="section">
  1143. <div class="pointer"></div>
  1144. <div class="abstract">
  1145. <p>Creates an <code><a href="../Classes/Interceptor.html">Interceptor</a></code> using the provided <code><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></code>s, <code><a href="../Protocols/RequestRetrier.html">RequestRetrier</a></code>s, and <code>RequestInterceptor</code>s.</p>
  1146. </div>
  1147. <div class="declaration">
  1148. <h4>Declaration</h4>
  1149. <div class="language">
  1150. <p class="aside-title">Swift</p>
  1151. <pre class="highlight swift"><code><span class="kd">@preconcurrency</span>
  1152. <span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">interceptor</span><span class="p">(</span><span class="nv">adapters</span><span class="p">:</span> <span class="p">[</span><span class="kd">any</span> <span class="kt"><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">[],</span>
  1153. <span class="nv">retriers</span><span class="p">:</span> <span class="p">[</span><span class="kd">any</span> <span class="kt"><a href="../Protocols/RequestRetrier.html">RequestRetrier</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">[],</span>
  1154. <span class="nv">interceptors</span><span class="p">:</span> <span class="p">[</span><span class="kd">any</span> <span class="kt">RequestInterceptor</span><span class="p">]</span> <span class="o">=</span> <span class="p">[])</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/Interceptor.html">Interceptor</a></span></code></pre>
  1155. </div>
  1156. </div>
  1157. <div>
  1158. <h4>Parameters</h4>
  1159. <table class="graybox">
  1160. <tbody>
  1161. <tr>
  1162. <td>
  1163. <code>
  1164. <em>adapters</em>
  1165. </code>
  1166. </td>
  1167. <td>
  1168. <div>
  1169. <p><code><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></code>s to use to adapt the request. These adapters will be run until one fails.</p>
  1170. </div>
  1171. </td>
  1172. </tr>
  1173. <tr>
  1174. <td>
  1175. <code>
  1176. <em>retriers</em>
  1177. </code>
  1178. </td>
  1179. <td>
  1180. <div>
  1181. <p><code><a href="../Protocols/RequestRetrier.html">RequestRetrier</a></code>s to use to retry the request. These retriers will be run one at a time until
  1182. a retry is triggered.</p>
  1183. </div>
  1184. </td>
  1185. </tr>
  1186. <tr>
  1187. <td>
  1188. <code>
  1189. <em>interceptors</em>
  1190. </code>
  1191. </td>
  1192. <td>
  1193. <div>
  1194. <p><code>RequestInterceptor</code>s to use to intercept the request.</p>
  1195. </div>
  1196. </td>
  1197. </tr>
  1198. </tbody>
  1199. </table>
  1200. </div>
  1201. <div>
  1202. <h4>Return Value</h4>
  1203. <p>The <code><a href="../Classes/Interceptor.html">Interceptor</a></code>.</p>
  1204. </div>
  1205. </section>
  1206. </div>
  1207. </li>
  1208. </ul>
  1209. </div>
  1210. <div class="task-group">
  1211. <div class="task-name-container">
  1212. <a name="/Available%20where%20%60Self%60%20%3D%3D%20%60RetryPolicy%60"></a>
  1213. <a name="//apple_ref/swift/Section/Available where `Self` == `RetryPolicy`" class="dashAnchor"></a>
  1214. <div class="section-name-container">
  1215. <a class="section-name-link" href="#/Available%20where%20%60Self%60%20%3D%3D%20%60RetryPolicy%60"></a>
  1216. <h3 class="section-name"><span>Available where <code>Self</code> == <code><a href="../Classes/RetryPolicy.html">RetryPolicy</a></code></span>
  1217. </h3>
  1218. </div>
  1219. </div>
  1220. <ul class="item-container">
  1221. <li class="item">
  1222. <div>
  1223. <code>
  1224. <a name="/s:9Alamofire18RequestInterceptorPA2A11RetryPolicyCRszrlE05retryE0AEvpZ"></a>
  1225. <a name="//apple_ref/swift/Variable/retryPolicy" class="dashAnchor"></a>
  1226. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A11RetryPolicyCRszrlE05retryE0AEvpZ">retryPolicy</a>
  1227. </code>
  1228. <span class="declaration-note">
  1229. Extension method
  1230. </span>
  1231. </div>
  1232. <div class="height-container">
  1233. <div class="pointer-container"></div>
  1234. <section class="section">
  1235. <div class="pointer"></div>
  1236. <div class="abstract">
  1237. <p>Provides a default <code><a href="../Classes/RetryPolicy.html">RetryPolicy</a></code> instance.</p>
  1238. </div>
  1239. <div class="declaration">
  1240. <h4>Declaration</h4>
  1241. <div class="language">
  1242. <p class="aside-title">Swift</p>
  1243. <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">retryPolicy</span><span class="p">:</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
  1244. </div>
  1245. </div>
  1246. </section>
  1247. </div>
  1248. </li>
  1249. <li class="item">
  1250. <div>
  1251. <code>
  1252. <a name="/s:9Alamofire18RequestInterceptorPA2A11RetryPolicyCRszrlE05retryE00F5Limit22exponentialBackoffBase0hI5Scale20retryableHTTPMethods0L15HTTPStatusCodes0l8URLErrorO0AESu_SuSdShyAA10HTTPMethodVGShySiGShy10Foundation0P0V4CodeVGtFZ"></a>
  1253. <a name="//apple_ref/swift/Method/retryPolicy(retryLimit:exponentialBackoffBase:exponentialBackoffScale:retryableHTTPMethods:retryableHTTPStatusCodes:retryableURLErrorCodes:)" class="dashAnchor"></a>
  1254. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A11RetryPolicyCRszrlE05retryE00F5Limit22exponentialBackoffBase0hI5Scale20retryableHTTPMethods0L15HTTPStatusCodes0l8URLErrorO0AESu_SuSdShyAA10HTTPMethodVGShySiGShy10Foundation0P0V4CodeVGtFZ">retryPolicy(retryLimit:<wbr>exponentialBackoffBase:<wbr>exponentialBackoffScale:<wbr>retryableHTTPMethods:<wbr>retryableHTTPStatusCodes:<wbr>retryableURLErrorCodes:<wbr>)</a>
  1255. </code>
  1256. <span class="declaration-note">
  1257. Extension method
  1258. </span>
  1259. </div>
  1260. <div class="height-container">
  1261. <div class="pointer-container"></div>
  1262. <section class="section">
  1263. <div class="pointer"></div>
  1264. <div class="abstract">
  1265. <p>Creates an <code><a href="../Classes/RetryPolicy.html">RetryPolicy</a></code> from the specified parameters.</p>
  1266. </div>
  1267. <div class="declaration">
  1268. <h4>Declaration</h4>
  1269. <div class="language">
  1270. <p class="aside-title">Swift</p>
  1271. <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">retryPolicy</span><span class="p">(</span><span class="nv">retryLimit</span><span class="p">:</span> <span class="kt">UInt</span> <span class="o">=</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span><span class="o">.</span><span class="n">defaultRetryLimit</span><span class="p">,</span>
  1272. <span class="nv">exponentialBackoffBase</span><span class="p">:</span> <span class="kt">UInt</span> <span class="o">=</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span><span class="o">.</span><span class="n">defaultExponentialBackoffBase</span><span class="p">,</span>
  1273. <span class="nv">exponentialBackoffScale</span><span class="p">:</span> <span class="kt">Double</span> <span class="o">=</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span><span class="o">.</span><span class="n">defaultExponentialBackoffScale</span><span class="p">,</span>
  1274. <span class="nv">retryableHTTPMethods</span><span class="p">:</span> <span class="kt">Set</span><span class="o">&lt;</span><span class="kt"><a href="../Structs/HTTPMethod.html">HTTPMethod</a></span><span class="o">&gt;</span> <span class="o">=</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span><span class="o">.</span><span class="n">defaultRetryableHTTPMethods</span><span class="p">,</span>
  1275. <span class="nv">retryableHTTPStatusCodes</span><span class="p">:</span> <span class="kt">Set</span><span class="o">&lt;</span><span class="kt">Int</span><span class="o">&gt;</span> <span class="o">=</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span><span class="o">.</span><span class="n">defaultRetryableHTTPStatusCodes</span><span class="p">,</span>
  1276. <span class="nv">retryableURLErrorCodes</span><span class="p">:</span> <span class="kt">Set</span><span class="o">&lt;</span><span class="kt">URLError</span><span class="o">.</span><span class="kt">Code</span><span class="o">&gt;</span> <span class="o">=</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span><span class="o">.</span><span class="n">defaultRetryableURLErrorCodes</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span></code></pre>
  1277. </div>
  1278. </div>
  1279. <div>
  1280. <h4>Parameters</h4>
  1281. <table class="graybox">
  1282. <tbody>
  1283. <tr>
  1284. <td>
  1285. <code>
  1286. <em>retryLimit</em>
  1287. </code>
  1288. </td>
  1289. <td>
  1290. <div>
  1291. <p>The total number of times the request is allowed to be retried. <code>2</code> by default.</p>
  1292. </div>
  1293. </td>
  1294. </tr>
  1295. <tr>
  1296. <td>
  1297. <code>
  1298. <em>exponentialBackoffBase</em>
  1299. </code>
  1300. </td>
  1301. <td>
  1302. <div>
  1303. <p>The base of the exponential backoff policy. <code>2</code> by default.</p>
  1304. </div>
  1305. </td>
  1306. </tr>
  1307. <tr>
  1308. <td>
  1309. <code>
  1310. <em>exponentialBackoffScale</em>
  1311. </code>
  1312. </td>
  1313. <td>
  1314. <div>
  1315. <p>The scale of the exponential backoff. <code>0.5</code> by default.</p>
  1316. </div>
  1317. </td>
  1318. </tr>
  1319. <tr>
  1320. <td>
  1321. <code>
  1322. <em>retryableHTTPMethods</em>
  1323. </code>
  1324. </td>
  1325. <td>
  1326. <div>
  1327. <p>The HTTP methods that are allowed to be retried.
  1328. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC27defaultRetryableHTTPMethodsShyAA10HTTPMethodVGvpZ">RetryPolicy.defaultRetryableHTTPMethods</a></code> by default.</p>
  1329. </div>
  1330. </td>
  1331. </tr>
  1332. <tr>
  1333. <td>
  1334. <code>
  1335. <em>retryableHTTPStatusCodes</em>
  1336. </code>
  1337. </td>
  1338. <td>
  1339. <div>
  1340. <p>The HTTP status codes that are automatically retried by the policy.
  1341. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC31defaultRetryableHTTPStatusCodesShySiGvpZ">RetryPolicy.defaultRetryableHTTPStatusCodes</a></code> by default.</p>
  1342. </div>
  1343. </td>
  1344. </tr>
  1345. <tr>
  1346. <td>
  1347. <code>
  1348. <em>retryableURLErrorCodes</em>
  1349. </code>
  1350. </td>
  1351. <td>
  1352. <div>
  1353. <p>The URL error codes that are automatically retried by the policy.
  1354. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC29defaultRetryableURLErrorCodesShy10Foundation0F0V4CodeVGvpZ">RetryPolicy.defaultRetryableURLErrorCodes</a></code> by default.</p>
  1355. </div>
  1356. </td>
  1357. </tr>
  1358. </tbody>
  1359. </table>
  1360. </div>
  1361. <div>
  1362. <h4>Return Value</h4>
  1363. <p>The <code><a href="../Classes/RetryPolicy.html">RetryPolicy</a></code></p>
  1364. </div>
  1365. </section>
  1366. </div>
  1367. </li>
  1368. </ul>
  1369. </div>
  1370. <div class="task-group">
  1371. <div class="task-name-container">
  1372. <a name="/Available%20where%20%60Self%60%20%3D%3D%20%60ConnectionLostRetryPolicy%60"></a>
  1373. <a name="//apple_ref/swift/Section/Available where `Self` == `ConnectionLostRetryPolicy`" class="dashAnchor"></a>
  1374. <div class="section-name-container">
  1375. <a class="section-name-link" href="#/Available%20where%20%60Self%60%20%3D%3D%20%60ConnectionLostRetryPolicy%60"></a>
  1376. <h3 class="section-name"><span>Available where <code>Self</code> == <code><a href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a></code></span>
  1377. </h3>
  1378. </div>
  1379. </div>
  1380. <ul class="item-container">
  1381. <li class="item">
  1382. <div>
  1383. <code>
  1384. <a name="/s:9Alamofire18RequestInterceptorPA2A25ConnectionLostRetryPolicyCRszrlE010connectionefG0AEvpZ"></a>
  1385. <a name="//apple_ref/swift/Variable/connectionLostRetryPolicy" class="dashAnchor"></a>
  1386. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A25ConnectionLostRetryPolicyCRszrlE010connectionefG0AEvpZ">connectionLostRetryPolicy</a>
  1387. </code>
  1388. <span class="declaration-note">
  1389. Extension method
  1390. </span>
  1391. </div>
  1392. <div class="height-container">
  1393. <div class="pointer-container"></div>
  1394. <section class="section">
  1395. <div class="pointer"></div>
  1396. <div class="abstract">
  1397. <p>Provides a default <code><a href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a></code> instance.</p>
  1398. </div>
  1399. <div class="declaration">
  1400. <h4>Declaration</h4>
  1401. <div class="language">
  1402. <p class="aside-title">Swift</p>
  1403. <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="k">var</span> <span class="nv">connectionLostRetryPolicy</span><span class="p">:</span> <span class="kt"><a href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a></span> <span class="p">{</span> <span class="k">get</span> <span class="p">}</span></code></pre>
  1404. </div>
  1405. </div>
  1406. </section>
  1407. </div>
  1408. </li>
  1409. <li class="item">
  1410. <div>
  1411. <code>
  1412. <a name="/s:9Alamofire18RequestInterceptorPA2A25ConnectionLostRetryPolicyCRszrlE010connectionefG010retryLimit22exponentialBackoffBase0kL5Scale20retryableHTTPMethodsAESu_SuSdShyAA10HTTPMethodVGtFZ"></a>
  1413. <a name="//apple_ref/swift/Method/connectionLostRetryPolicy(retryLimit:exponentialBackoffBase:exponentialBackoffScale:retryableHTTPMethods:)" class="dashAnchor"></a>
  1414. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A25ConnectionLostRetryPolicyCRszrlE010connectionefG010retryLimit22exponentialBackoffBase0kL5Scale20retryableHTTPMethodsAESu_SuSdShyAA10HTTPMethodVGtFZ">connectionLostRetryPolicy(retryLimit:<wbr>exponentialBackoffBase:<wbr>exponentialBackoffScale:<wbr>retryableHTTPMethods:<wbr>)</a>
  1415. </code>
  1416. <span class="declaration-note">
  1417. Extension method
  1418. </span>
  1419. </div>
  1420. <div class="height-container">
  1421. <div class="pointer-container"></div>
  1422. <section class="section">
  1423. <div class="pointer"></div>
  1424. <div class="abstract">
  1425. <p>Creates a <code><a href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a></code> instance from the specified parameters.</p>
  1426. </div>
  1427. <div class="declaration">
  1428. <h4>Declaration</h4>
  1429. <div class="language">
  1430. <p class="aside-title">Swift</p>
  1431. <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">static</span> <span class="kd">func</span> <span class="nf">connectionLostRetryPolicy</span><span class="p">(</span><span class="nv">retryLimit</span><span class="p">:</span> <span class="kt">UInt</span> <span class="o">=</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span><span class="o">.</span><span class="n">defaultRetryLimit</span><span class="p">,</span>
  1432. <span class="nv">exponentialBackoffBase</span><span class="p">:</span> <span class="kt">UInt</span> <span class="o">=</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span><span class="o">.</span><span class="n">defaultExponentialBackoffBase</span><span class="p">,</span>
  1433. <span class="nv">exponentialBackoffScale</span><span class="p">:</span> <span class="kt">Double</span> <span class="o">=</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span><span class="o">.</span><span class="n">defaultExponentialBackoffScale</span><span class="p">,</span>
  1434. <span class="nv">retryableHTTPMethods</span><span class="p">:</span> <span class="kt">Set</span><span class="o">&lt;</span><span class="kt"><a href="../Structs/HTTPMethod.html">HTTPMethod</a></span><span class="o">&gt;</span> <span class="o">=</span> <span class="kt"><a href="../Classes/RetryPolicy.html">RetryPolicy</a></span><span class="o">.</span><span class="n">defaultRetryableHTTPMethods</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a></span></code></pre>
  1435. </div>
  1436. </div>
  1437. <div>
  1438. <h4>Parameters</h4>
  1439. <table class="graybox">
  1440. <tbody>
  1441. <tr>
  1442. <td>
  1443. <code>
  1444. <em>retryLimit</em>
  1445. </code>
  1446. </td>
  1447. <td>
  1448. <div>
  1449. <p>The total number of times the request is allowed to be retried.
  1450. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC07defaultB5LimitSuvpZ">RetryPolicy.defaultRetryLimit</a></code> by default.</p>
  1451. </div>
  1452. </td>
  1453. </tr>
  1454. <tr>
  1455. <td>
  1456. <code>
  1457. <em>exponentialBackoffBase</em>
  1458. </code>
  1459. </td>
  1460. <td>
  1461. <div>
  1462. <p>The base of the exponential backoff policy.
  1463. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC29defaultExponentialBackoffBaseSuvpZ">RetryPolicy.defaultExponentialBackoffBase</a></code> by default.</p>
  1464. </div>
  1465. </td>
  1466. </tr>
  1467. <tr>
  1468. <td>
  1469. <code>
  1470. <em>exponentialBackoffScale</em>
  1471. </code>
  1472. </td>
  1473. <td>
  1474. <div>
  1475. <p>The scale of the exponential backoff.
  1476. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC30defaultExponentialBackoffScaleSdvpZ">RetryPolicy.defaultExponentialBackoffScale</a></code> by default.</p>
  1477. </div>
  1478. </td>
  1479. </tr>
  1480. <tr>
  1481. <td>
  1482. <code>
  1483. <em>retryableHTTPMethods</em>
  1484. </code>
  1485. </td>
  1486. <td>
  1487. <div>
  1488. <p>The idempotent http methods to retry.</p>
  1489. </div>
  1490. </td>
  1491. </tr>
  1492. </tbody>
  1493. </table>
  1494. </div>
  1495. <div>
  1496. <h4>Return Value</h4>
  1497. <p>The <code><a href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a></code>.</p>
  1498. </div>
  1499. </section>
  1500. </div>
  1501. </li>
  1502. </ul>
  1503. </div>
  1504. </div>
  1505. </section>
  1506. </article>
  1507. </div>
  1508. <section class="footer">
  1509. <p>&copy; 2025 <a class="link" href="http://alamofire.org/" target="_blank" rel="external noopener">Alamofire Software Foundation</a>. All rights reserved. (Last updated: 2025-12-20)</p>
  1510. <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
  1511. </section>
  1512. </body>
  1513. </html>