RequestInterceptor.html 76 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277
  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.8.1 Docs
  21. </a>
  22. (97% 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 Reference</a>
  44. <img class="carat" src="../img/carat.png" alt=""/>
  45. RequestInterceptor Protocol Reference
  46. </p>
  47. <div class="content-wrapper">
  48. <nav class="navigation">
  49. <ul class="nav-groups">
  50. <li class="nav-group-name">
  51. <a class="nav-group-name-link" href="../Classes.html">Classes</a>
  52. <ul class="nav-group-tasks">
  53. <li class="nav-group-task">
  54. <a class="nav-group-task-link" href="../Classes/Adapter.html">Adapter</a>
  55. </li>
  56. <li class="nav-group-task">
  57. <a class="nav-group-task-link" href="../Classes/AlamofireNotifications.html">AlamofireNotifications</a>
  58. </li>
  59. <li class="nav-group-task">
  60. <a class="nav-group-task-link" href="../Classes/AuthenticationInterceptor.html">AuthenticationInterceptor</a>
  61. </li>
  62. <li class="nav-group-task">
  63. <a class="nav-group-task-link" href="../Classes/AuthenticationInterceptor/RefreshWindow.html">– RefreshWindow</a>
  64. </li>
  65. <li class="nav-group-task">
  66. <a class="nav-group-task-link" href="../Classes/ClosureEventMonitor.html">ClosureEventMonitor</a>
  67. </li>
  68. <li class="nav-group-task">
  69. <a class="nav-group-task-link" href="../Classes/CompositeEventMonitor.html">CompositeEventMonitor</a>
  70. </li>
  71. <li class="nav-group-task">
  72. <a class="nav-group-task-link" href="../Classes/CompositeTrustEvaluator.html">CompositeTrustEvaluator</a>
  73. </li>
  74. <li class="nav-group-task">
  75. <a class="nav-group-task-link" href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a>
  76. </li>
  77. <li class="nav-group-task">
  78. <a class="nav-group-task-link" href="../Classes/DataRequest.html">DataRequest</a>
  79. </li>
  80. <li class="nav-group-task">
  81. <a class="nav-group-task-link" href="../Classes/DataResponseSerializer.html">DataResponseSerializer</a>
  82. </li>
  83. <li class="nav-group-task">
  84. <a class="nav-group-task-link" href="../Classes/DataStreamRequest.html">DataStreamRequest</a>
  85. </li>
  86. <li class="nav-group-task">
  87. <a class="nav-group-task-link" href="../Classes/DataStreamRequest/Stream.html">– Stream</a>
  88. </li>
  89. <li class="nav-group-task">
  90. <a class="nav-group-task-link" href="../Classes/DataStreamRequest/Event.html">– Event</a>
  91. </li>
  92. <li class="nav-group-task">
  93. <a class="nav-group-task-link" href="../Classes/DataStreamRequest/Completion.html">– Completion</a>
  94. </li>
  95. <li class="nav-group-task">
  96. <a class="nav-group-task-link" href="../Classes/DataStreamRequest/CancellationToken.html">– CancellationToken</a>
  97. </li>
  98. <li class="nav-group-task">
  99. <a class="nav-group-task-link" href="../Classes/DecodableResponseSerializer.html">DecodableResponseSerializer</a>
  100. </li>
  101. <li class="nav-group-task">
  102. <a class="nav-group-task-link" href="../Classes/DefaultTrustEvaluator.html">DefaultTrustEvaluator</a>
  103. </li>
  104. <li class="nav-group-task">
  105. <a class="nav-group-task-link" href="../Classes/DisabledTrustEvaluator.html">DisabledTrustEvaluator</a>
  106. </li>
  107. <li class="nav-group-task">
  108. <a class="nav-group-task-link" href="../Classes/DownloadRequest.html">DownloadRequest</a>
  109. </li>
  110. <li class="nav-group-task">
  111. <a class="nav-group-task-link" href="../Classes/DownloadRequest/Options.html">– Options</a>
  112. </li>
  113. <li class="nav-group-task">
  114. <a class="nav-group-task-link" href="../Classes/DownloadRequest/Downloadable.html">– Downloadable</a>
  115. </li>
  116. <li class="nav-group-task">
  117. <a class="nav-group-task-link" href="../Classes/Interceptor.html">Interceptor</a>
  118. </li>
  119. <li class="nav-group-task">
  120. <a class="nav-group-task-link" href="../Classes/JSONParameterEncoder.html">JSONParameterEncoder</a>
  121. </li>
  122. <li class="nav-group-task">
  123. <a class="nav-group-task-link" href="../Classes/JSONResponseSerializer.html">JSONResponseSerializer</a>
  124. </li>
  125. <li class="nav-group-task">
  126. <a class="nav-group-task-link" href="../Classes/MultipartFormData.html">MultipartFormData</a>
  127. </li>
  128. <li class="nav-group-task">
  129. <a class="nav-group-task-link" href="../Classes/NetworkReachabilityManager.html">NetworkReachabilityManager</a>
  130. </li>
  131. <li class="nav-group-task">
  132. <a class="nav-group-task-link" href="../Classes/NetworkReachabilityManager/NetworkReachabilityStatus.html">– NetworkReachabilityStatus</a>
  133. </li>
  134. <li class="nav-group-task">
  135. <a class="nav-group-task-link" href="../Classes/PinnedCertificatesTrustEvaluator.html">PinnedCertificatesTrustEvaluator</a>
  136. </li>
  137. <li class="nav-group-task">
  138. <a class="nav-group-task-link" href="../Classes/PublicKeysTrustEvaluator.html">PublicKeysTrustEvaluator</a>
  139. </li>
  140. <li class="nav-group-task">
  141. <a class="nav-group-task-link" href="../Classes/Request.html">Request</a>
  142. </li>
  143. <li class="nav-group-task">
  144. <a class="nav-group-task-link" href="../Classes/Request/State.html">– State</a>
  145. </li>
  146. <li class="nav-group-task">
  147. <a class="nav-group-task-link" href="../Classes/Request/ResponseDisposition.html">– ResponseDisposition</a>
  148. </li>
  149. <li class="nav-group-task">
  150. <a class="nav-group-task-link" href="../Classes/Retrier.html">Retrier</a>
  151. </li>
  152. <li class="nav-group-task">
  153. <a class="nav-group-task-link" href="../Classes/RetryPolicy.html">RetryPolicy</a>
  154. </li>
  155. <li class="nav-group-task">
  156. <a class="nav-group-task-link" href="../Classes/RevocationTrustEvaluator.html">RevocationTrustEvaluator</a>
  157. </li>
  158. <li class="nav-group-task">
  159. <a class="nav-group-task-link" href="../Classes/RevocationTrustEvaluator/Options.html">– Options</a>
  160. </li>
  161. <li class="nav-group-task">
  162. <a class="nav-group-task-link" href="../Classes/ServerTrustManager.html">ServerTrustManager</a>
  163. </li>
  164. <li class="nav-group-task">
  165. <a class="nav-group-task-link" href="../Classes/Session.html">Session</a>
  166. </li>
  167. <li class="nav-group-task">
  168. <a class="nav-group-task-link" href="../Classes/SessionDelegate.html">SessionDelegate</a>
  169. </li>
  170. <li class="nav-group-task">
  171. <a class="nav-group-task-link" href="../Classes/StringResponseSerializer.html">StringResponseSerializer</a>
  172. </li>
  173. <li class="nav-group-task">
  174. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder.html">URLEncodedFormEncoder</a>
  175. </li>
  176. <li class="nav-group-task">
  177. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/ArrayEncoding.html">– ArrayEncoding</a>
  178. </li>
  179. <li class="nav-group-task">
  180. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/BoolEncoding.html">– BoolEncoding</a>
  181. </li>
  182. <li class="nav-group-task">
  183. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/DataEncoding.html">– DataEncoding</a>
  184. </li>
  185. <li class="nav-group-task">
  186. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/DateEncoding.html">– DateEncoding</a>
  187. </li>
  188. <li class="nav-group-task">
  189. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/KeyEncoding.html">– KeyEncoding</a>
  190. </li>
  191. <li class="nav-group-task">
  192. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/KeyPathEncoding.html">– KeyPathEncoding</a>
  193. </li>
  194. <li class="nav-group-task">
  195. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/NilEncoding.html">– NilEncoding</a>
  196. </li>
  197. <li class="nav-group-task">
  198. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/SpaceEncoding.html">– SpaceEncoding</a>
  199. </li>
  200. <li class="nav-group-task">
  201. <a class="nav-group-task-link" href="../Classes/URLEncodedFormEncoder/Error.html">– Error</a>
  202. </li>
  203. <li class="nav-group-task">
  204. <a class="nav-group-task-link" href="../Classes/URLEncodedFormParameterEncoder.html">URLEncodedFormParameterEncoder</a>
  205. </li>
  206. <li class="nav-group-task">
  207. <a class="nav-group-task-link" href="../Classes/URLEncodedFormParameterEncoder/Destination.html">– Destination</a>
  208. </li>
  209. <li class="nav-group-task">
  210. <a class="nav-group-task-link" href="../Classes/UploadRequest.html">UploadRequest</a>
  211. </li>
  212. <li class="nav-group-task">
  213. <a class="nav-group-task-link" href="../Classes/UploadRequest/Uploadable.html">– Uploadable</a>
  214. </li>
  215. </ul>
  216. </li>
  217. <li class="nav-group-name">
  218. <a class="nav-group-name-link" href="../Global%20Variables.html">Global Variables</a>
  219. <ul class="nav-group-tasks">
  220. <li class="nav-group-task">
  221. <a class="nav-group-task-link" href="../Global%20Variables.html#/s:9Alamofire2AFAA7SessionCvp">AF</a>
  222. </li>
  223. </ul>
  224. </li>
  225. <li class="nav-group-name">
  226. <a class="nav-group-name-link" href="../Enums.html">Enumerations</a>
  227. <ul class="nav-group-tasks">
  228. <li class="nav-group-task">
  229. <a class="nav-group-task-link" href="../Enums/AFError.html">AFError</a>
  230. </li>
  231. <li class="nav-group-task">
  232. <a class="nav-group-task-link" href="../Enums/AFError/MultipartEncodingFailureReason.html">– MultipartEncodingFailureReason</a>
  233. </li>
  234. <li class="nav-group-task">
  235. <a class="nav-group-task-link" href="../Enums/AFError/UnexpectedInputStreamLength.html">– UnexpectedInputStreamLength</a>
  236. </li>
  237. <li class="nav-group-task">
  238. <a class="nav-group-task-link" href="../Enums/AFError/ParameterEncodingFailureReason.html">– ParameterEncodingFailureReason</a>
  239. </li>
  240. <li class="nav-group-task">
  241. <a class="nav-group-task-link" href="../Enums/AFError/ParameterEncoderFailureReason.html">– ParameterEncoderFailureReason</a>
  242. </li>
  243. <li class="nav-group-task">
  244. <a class="nav-group-task-link" href="../Enums/AFError/ResponseValidationFailureReason.html">– ResponseValidationFailureReason</a>
  245. </li>
  246. <li class="nav-group-task">
  247. <a class="nav-group-task-link" href="../Enums/AFError/ResponseSerializationFailureReason.html">– ResponseSerializationFailureReason</a>
  248. </li>
  249. <li class="nav-group-task">
  250. <a class="nav-group-task-link" href="../Enums/AFError/ServerTrustFailureReason.html">– ServerTrustFailureReason</a>
  251. </li>
  252. <li class="nav-group-task">
  253. <a class="nav-group-task-link" href="../Enums/AFError/URLRequestValidationFailureReason.html">– URLRequestValidationFailureReason</a>
  254. </li>
  255. <li class="nav-group-task">
  256. <a class="nav-group-task-link" href="../Enums/AuthenticationError.html">AuthenticationError</a>
  257. </li>
  258. <li class="nav-group-task">
  259. <a class="nav-group-task-link" href="../Enums/RetryResult.html">RetryResult</a>
  260. </li>
  261. </ul>
  262. </li>
  263. <li class="nav-group-name">
  264. <a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
  265. <ul class="nav-group-tasks">
  266. <li class="nav-group-task">
  267. <a class="nav-group-task-link" href="../Extensions/Array.html">Array</a>
  268. </li>
  269. <li class="nav-group-task">
  270. <a class="nav-group-task-link" href="../Extensions.html#/c:objc(cs)NSBundle">Bundle</a>
  271. </li>
  272. <li class="nav-group-task">
  273. <a class="nav-group-task-link" href="../Extensions/CharacterSet.html">CharacterSet</a>
  274. </li>
  275. <li class="nav-group-task">
  276. <a class="nav-group-task-link" href="../Extensions/Error.html">Error</a>
  277. </li>
  278. <li class="nav-group-task">
  279. <a class="nav-group-task-link" href="../Extensions/HTTPURLResponse.html">HTTPURLResponse</a>
  280. </li>
  281. <li class="nav-group-task">
  282. <a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation11JSONDecoderC">JSONDecoder</a>
  283. </li>
  284. <li class="nav-group-task">
  285. <a class="nav-group-task-link" href="../Extensions/Notification.html">Notification</a>
  286. </li>
  287. <li class="nav-group-task">
  288. <a class="nav-group-task-link" href="../Extensions.html#/c:@T@OSStatus">OSStatus</a>
  289. </li>
  290. <li class="nav-group-task">
  291. <a class="nav-group-task-link" href="../Extensions.html#/s:10Foundation19PropertyListDecoderC">PropertyListDecoder</a>
  292. </li>
  293. <li class="nav-group-task">
  294. <a class="nav-group-task-link" href="../Extensions.html#/c:@T@SecCertificateRef">SecCertificate</a>
  295. </li>
  296. <li class="nav-group-task">
  297. <a class="nav-group-task-link" href="../Extensions.html#/c:@T@SecPolicyRef">SecPolicy</a>
  298. </li>
  299. <li class="nav-group-task">
  300. <a class="nav-group-task-link" href="../Extensions.html#/c:@T@SecTrustRef">SecTrust</a>
  301. </li>
  302. <li class="nav-group-task">
  303. <a class="nav-group-task-link" href="../Extensions.html#/c:@E@SecTrustResultType">SecTrustResultType</a>
  304. </li>
  305. <li class="nav-group-task">
  306. <a class="nav-group-task-link" href="../Extensions/String.html">String</a>
  307. </li>
  308. <li class="nav-group-task">
  309. <a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
  310. </li>
  311. <li class="nav-group-task">
  312. <a class="nav-group-task-link" href="../Extensions/URLComponents.html">URLComponents</a>
  313. </li>
  314. <li class="nav-group-task">
  315. <a class="nav-group-task-link" href="../Extensions/URLRequest.html">URLRequest</a>
  316. </li>
  317. <li class="nav-group-task">
  318. <a class="nav-group-task-link" href="../Extensions/URLSessionConfiguration.html">URLSessionConfiguration</a>
  319. </li>
  320. </ul>
  321. </li>
  322. <li class="nav-group-name">
  323. <a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
  324. <ul class="nav-group-tasks">
  325. <li class="nav-group-task">
  326. <a class="nav-group-task-link" href="../Protocols/AlamofireExtended.html">AlamofireExtended</a>
  327. </li>
  328. <li class="nav-group-task">
  329. <a class="nav-group-task-link" href="../Protocols/AuthenticationCredential.html">AuthenticationCredential</a>
  330. </li>
  331. <li class="nav-group-task">
  332. <a class="nav-group-task-link" href="../Protocols/Authenticator.html">Authenticator</a>
  333. </li>
  334. <li class="nav-group-task">
  335. <a class="nav-group-task-link" href="../Protocols/CachedResponseHandler.html">CachedResponseHandler</a>
  336. </li>
  337. <li class="nav-group-task">
  338. <a class="nav-group-task-link" href="../Protocols/DataDecoder.html">DataDecoder</a>
  339. </li>
  340. <li class="nav-group-task">
  341. <a class="nav-group-task-link" href="../Protocols/DataPreprocessor.html">DataPreprocessor</a>
  342. </li>
  343. <li class="nav-group-task">
  344. <a class="nav-group-task-link" href="../Protocols/DataResponseSerializerProtocol.html">DataResponseSerializerProtocol</a>
  345. </li>
  346. <li class="nav-group-task">
  347. <a class="nav-group-task-link" href="../Protocols/DataStreamSerializer.html">DataStreamSerializer</a>
  348. </li>
  349. <li class="nav-group-task">
  350. <a class="nav-group-task-link" href="../Protocols/DownloadResponseSerializerProtocol.html">DownloadResponseSerializerProtocol</a>
  351. </li>
  352. <li class="nav-group-task">
  353. <a class="nav-group-task-link" href="../Protocols/EmptyResponse.html">EmptyResponse</a>
  354. </li>
  355. <li class="nav-group-task">
  356. <a class="nav-group-task-link" href="../Protocols/EventMonitor.html">EventMonitor</a>
  357. </li>
  358. <li class="nav-group-task">
  359. <a class="nav-group-task-link" href="../Protocols/ParameterEncoder.html">ParameterEncoder</a>
  360. </li>
  361. <li class="nav-group-task">
  362. <a class="nav-group-task-link" href="../Protocols/ParameterEncoding.html">ParameterEncoding</a>
  363. </li>
  364. <li class="nav-group-task">
  365. <a class="nav-group-task-link" href="../Protocols/RedirectHandler.html">RedirectHandler</a>
  366. </li>
  367. <li class="nav-group-task">
  368. <a class="nav-group-task-link" href="../Protocols/RequestAdapter.html">RequestAdapter</a>
  369. </li>
  370. <li class="nav-group-task">
  371. <a class="nav-group-task-link" href="../Protocols/RequestDelegate.html">RequestDelegate</a>
  372. </li>
  373. <li class="nav-group-task">
  374. <a class="nav-group-task-link" href="../Protocols/RequestInterceptor.html">RequestInterceptor</a>
  375. </li>
  376. <li class="nav-group-task">
  377. <a class="nav-group-task-link" href="../Protocols/RequestRetrier.html">RequestRetrier</a>
  378. </li>
  379. <li class="nav-group-task">
  380. <a class="nav-group-task-link" href="../Protocols/ResponseSerializer.html">ResponseSerializer</a>
  381. </li>
  382. <li class="nav-group-task">
  383. <a class="nav-group-task-link" href="../Protocols/ServerTrustEvaluating.html">ServerTrustEvaluating</a>
  384. </li>
  385. <li class="nav-group-task">
  386. <a class="nav-group-task-link" href="../Protocols/URLConvertible.html">URLConvertible</a>
  387. </li>
  388. <li class="nav-group-task">
  389. <a class="nav-group-task-link" href="../Protocols/URLRequestConvertible.html">URLRequestConvertible</a>
  390. </li>
  391. <li class="nav-group-task">
  392. <a class="nav-group-task-link" href="../Protocols.html#/s:9Alamofire17UploadConvertibleP">UploadConvertible</a>
  393. </li>
  394. <li class="nav-group-task">
  395. <a class="nav-group-task-link" href="../Protocols/UploadableConvertible.html">UploadableConvertible</a>
  396. </li>
  397. </ul>
  398. </li>
  399. <li class="nav-group-name">
  400. <a class="nav-group-name-link" href="../Structs.html">Structures</a>
  401. <ul class="nav-group-tasks">
  402. <li class="nav-group-task">
  403. <a class="nav-group-task-link" href="../Structs/AlamofireExtension.html">AlamofireExtension</a>
  404. </li>
  405. <li class="nav-group-task">
  406. <a class="nav-group-task-link" href="../Structs/DataResponse.html">DataResponse</a>
  407. </li>
  408. <li class="nav-group-task">
  409. <a class="nav-group-task-link" href="../Structs/DataResponsePublisher.html">DataResponsePublisher</a>
  410. </li>
  411. <li class="nav-group-task">
  412. <a class="nav-group-task-link" href="../Structs/DataStreamPublisher.html">DataStreamPublisher</a>
  413. </li>
  414. <li class="nav-group-task">
  415. <a class="nav-group-task-link" href="../Structs/DataStreamTask.html">DataStreamTask</a>
  416. </li>
  417. <li class="nav-group-task">
  418. <a class="nav-group-task-link" href="../Structs/DataTask.html">DataTask</a>
  419. </li>
  420. <li class="nav-group-task">
  421. <a class="nav-group-task-link" href="../Structs/DecodableStreamSerializer.html">DecodableStreamSerializer</a>
  422. </li>
  423. <li class="nav-group-task">
  424. <a class="nav-group-task-link" href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a>
  425. </li>
  426. <li class="nav-group-task">
  427. <a class="nav-group-task-link" href="../Structs/DeflateRequestCompressor/DuplicateHeaderBehavior.html">– DuplicateHeaderBehavior</a>
  428. </li>
  429. <li class="nav-group-task">
  430. <a class="nav-group-task-link" href="../Structs/DeflateRequestCompressor.html#/s:9Alamofire24DeflateRequestCompressorV20DuplicateHeaderErrorV">– DuplicateHeaderError</a>
  431. </li>
  432. <li class="nav-group-task">
  433. <a class="nav-group-task-link" href="../Structs/DownloadResponse.html">DownloadResponse</a>
  434. </li>
  435. <li class="nav-group-task">
  436. <a class="nav-group-task-link" href="../Structs/DownloadResponsePublisher.html">DownloadResponsePublisher</a>
  437. </li>
  438. <li class="nav-group-task">
  439. <a class="nav-group-task-link" href="../Structs/DownloadTask.html">DownloadTask</a>
  440. </li>
  441. <li class="nav-group-task">
  442. <a class="nav-group-task-link" href="../Structs/Empty.html">Empty</a>
  443. </li>
  444. <li class="nav-group-task">
  445. <a class="nav-group-task-link" href="../Structs/GoogleXSSIPreprocessor.html">GoogleXSSIPreprocessor</a>
  446. </li>
  447. <li class="nav-group-task">
  448. <a class="nav-group-task-link" href="../Structs/HTTPHeader.html">HTTPHeader</a>
  449. </li>
  450. <li class="nav-group-task">
  451. <a class="nav-group-task-link" href="../Structs/HTTPHeaders.html">HTTPHeaders</a>
  452. </li>
  453. <li class="nav-group-task">
  454. <a class="nav-group-task-link" href="../Structs/HTTPMethod.html">HTTPMethod</a>
  455. </li>
  456. <li class="nav-group-task">
  457. <a class="nav-group-task-link" href="../Structs/JSONEncoding.html">JSONEncoding</a>
  458. </li>
  459. <li class="nav-group-task">
  460. <a class="nav-group-task-link" href="../Structs/JSONEncoding/Error.html">– Error</a>
  461. </li>
  462. <li class="nav-group-task">
  463. <a class="nav-group-task-link" href="../Structs/PassthroughPreprocessor.html">PassthroughPreprocessor</a>
  464. </li>
  465. <li class="nav-group-task">
  466. <a class="nav-group-task-link" href="../Structs/PassthroughStreamSerializer.html">PassthroughStreamSerializer</a>
  467. </li>
  468. <li class="nav-group-task">
  469. <a class="nav-group-task-link" href="../Structs/Redirector.html">Redirector</a>
  470. </li>
  471. <li class="nav-group-task">
  472. <a class="nav-group-task-link" href="../Structs/Redirector/Behavior.html">– Behavior</a>
  473. </li>
  474. <li class="nav-group-task">
  475. <a class="nav-group-task-link" href="../Structs/RequestAdapterState.html">RequestAdapterState</a>
  476. </li>
  477. <li class="nav-group-task">
  478. <a class="nav-group-task-link" href="../Structs/ResponseCacher.html">ResponseCacher</a>
  479. </li>
  480. <li class="nav-group-task">
  481. <a class="nav-group-task-link" href="../Structs/ResponseCacher/Behavior.html">– Behavior</a>
  482. </li>
  483. <li class="nav-group-task">
  484. <a class="nav-group-task-link" href="../Structs/StreamOf.html">StreamOf</a>
  485. </li>
  486. <li class="nav-group-task">
  487. <a class="nav-group-task-link" href="../Structs/StreamOf/Iterator.html">– Iterator</a>
  488. </li>
  489. <li class="nav-group-task">
  490. <a class="nav-group-task-link" href="../Structs/StringStreamSerializer.html">StringStreamSerializer</a>
  491. </li>
  492. <li class="nav-group-task">
  493. <a class="nav-group-task-link" href="../Structs/URLEncoding.html">URLEncoding</a>
  494. </li>
  495. <li class="nav-group-task">
  496. <a class="nav-group-task-link" href="../Structs/URLEncoding/Destination.html">– Destination</a>
  497. </li>
  498. <li class="nav-group-task">
  499. <a class="nav-group-task-link" href="../Structs/URLEncoding/ArrayEncoding.html">– ArrayEncoding</a>
  500. </li>
  501. <li class="nav-group-task">
  502. <a class="nav-group-task-link" href="../Structs/URLEncoding/BoolEncoding.html">– BoolEncoding</a>
  503. </li>
  504. <li class="nav-group-task">
  505. <a class="nav-group-task-link" href="../Structs/URLResponseSerializer.html">URLResponseSerializer</a>
  506. </li>
  507. </ul>
  508. </li>
  509. <li class="nav-group-name">
  510. <a class="nav-group-name-link" href="../Typealiases.html">Type Aliases</a>
  511. <ul class="nav-group-tasks">
  512. <li class="nav-group-task">
  513. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire14AFDataResponsea">AFDataResponse</a>
  514. </li>
  515. <li class="nav-group-task">
  516. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire18AFDownloadResponsea">AFDownloadResponse</a>
  517. </li>
  518. <li class="nav-group-task">
  519. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire8AFResulta">AFResult</a>
  520. </li>
  521. <li class="nav-group-task">
  522. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire12AdaptHandlera">AdaptHandler</a>
  523. </li>
  524. <li class="nav-group-task">
  525. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire17DisabledEvaluatora">DisabledEvaluator</a>
  526. </li>
  527. <li class="nav-group-task">
  528. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire10Parametersa">Parameters</a>
  529. </li>
  530. <li class="nav-group-task">
  531. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire12RetryHandlera">RetryHandler</a>
  532. </li>
  533. </ul>
  534. </li>
  535. </ul>
  536. </nav>
  537. <article class="main-content">
  538. <section class="section">
  539. <div class="section-content top-matter">
  540. <h1>RequestInterceptor</h1>
  541. <div class="declaration">
  542. <div class="language">
  543. <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>
  544. </div>
  545. </div>
  546. <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>
  547. </div>
  548. </section>
  549. <section class="section">
  550. <div class="section-content">
  551. <div class="task-group">
  552. <ul class="item-container">
  553. <li class="item">
  554. <div>
  555. <code>
  556. <a name="/s:9Alamofire14RequestAdapterP5adapt_3for10completiony10Foundation10URLRequestV_AA7SessionCys6ResultOyAIs5Error_pGctF"></a>
  557. <a name="//apple_ref/swift/Method/adapt(_:for:completion:)" class="dashAnchor"></a>
  558. <a class="token" href="#/s:9Alamofire14RequestAdapterP5adapt_3for10completiony10Foundation10URLRequestV_AA7SessionCys6ResultOyAIs5Error_pGctF">adapt(_:<wbr>for:<wbr>completion:<wbr>)</a>
  559. </code>
  560. <span class="declaration-note">
  561. Extension method
  562. </span>
  563. </div>
  564. <div class="height-container">
  565. <div class="pointer-container"></div>
  566. <section class="section">
  567. <div class="pointer"></div>
  568. <div class="abstract">
  569. </div>
  570. <div class="declaration">
  571. <h4>Declaration</h4>
  572. <div class="language">
  573. <p class="aside-title">Swift</p>
  574. <pre class="highlight swift"><code><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="p">(</span><span class="kt">Result</span><span class="o">&lt;</span><span class="kt">URLRequest</span><span class="p">,</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>
  575. </div>
  576. </div>
  577. </section>
  578. </div>
  579. </li>
  580. <li class="item">
  581. <div>
  582. <code>
  583. <a name="/s:9Alamofire14RequestRetrierP5retry_3for5dueTo10completionyAA0B0C_AA7SessionCs5Error_pyAA11RetryResultOctF"></a>
  584. <a name="//apple_ref/swift/Method/retry(_:for:dueTo:completion:)" class="dashAnchor"></a>
  585. <a class="token" href="#/s:9Alamofire14RequestRetrierP5retry_3for5dueTo10completionyAA0B0C_AA7SessionCs5Error_pyAA11RetryResultOctF">retry(_:<wbr>for:<wbr>dueTo:<wbr>completion:<wbr>)</a>
  586. </code>
  587. <span class="declaration-note">
  588. Extension method
  589. </span>
  590. </div>
  591. <div class="height-container">
  592. <div class="pointer-container"></div>
  593. <section class="section">
  594. <div class="pointer"></div>
  595. <div class="abstract">
  596. </div>
  597. <div class="declaration">
  598. <h4>Declaration</h4>
  599. <div class="language">
  600. <p class="aside-title">Swift</p>
  601. <pre class="highlight swift"><code><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>
  602. <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>
  603. <span class="n">dueTo</span> <span class="nv">error</span><span class="p">:</span> <span class="kt">Error</span><span class="p">,</span>
  604. <span class="nv">completion</span><span class="p">:</span> <span class="kd">@escaping</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>
  605. </div>
  606. </div>
  607. </section>
  608. </div>
  609. </li>
  610. </ul>
  611. </div>
  612. <div class="task-group">
  613. <div class="task-name-container">
  614. <a name="/Available%20where%20%60Self%60%20%3D%3D%20%60DeflateRequestCompressor%60"></a>
  615. <a name="//apple_ref/swift/Section/Available where `Self` == `DeflateRequestCompressor`" class="dashAnchor"></a>
  616. <div class="section-name-container">
  617. <a class="section-name-link" href="#/Available%20where%20%60Self%60%20%3D%3D%20%60DeflateRequestCompressor%60"></a>
  618. <h3 class="section-name"><span>Available where <code>Self</code> == <code><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></code></span>
  619. </h3>
  620. </div>
  621. </div>
  622. <ul class="item-container">
  623. <li class="item">
  624. <div>
  625. <code>
  626. <a name="/s:9Alamofire18RequestInterceptorPA2A07DeflateB10CompressorVRszrlE07deflateE0AEvpZ"></a>
  627. <a name="//apple_ref/swift/Variable/deflateCompressor" class="dashAnchor"></a>
  628. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A07DeflateB10CompressorVRszrlE07deflateE0AEvpZ">deflateCompressor</a>
  629. </code>
  630. <span class="declaration-note">
  631. Extension method
  632. </span>
  633. </div>
  634. <div class="height-container">
  635. <div class="pointer-container"></div>
  636. <section class="section">
  637. <div class="pointer"></div>
  638. <div class="abstract">
  639. <p>Create a <code><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></code> with default <code>duplicateHeaderBehavior</code> and <code>shouldCompressBodyData</code> values.</p>
  640. </div>
  641. <div class="declaration">
  642. <h4>Declaration</h4>
  643. <div class="language">
  644. <p class="aside-title">Swift</p>
  645. <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>
  646. </div>
  647. </div>
  648. </section>
  649. </div>
  650. </li>
  651. <li class="item">
  652. <div>
  653. <code>
  654. <a name="/s:9Alamofire18RequestInterceptorPA2A07DeflateB10CompressorVRszrlE07deflateE023duplicateHeaderBehavior22shouldCompressBodyDataA2E09DuplicatehI0O_Sb10Foundation0M0VctFZ"></a>
  655. <a name="//apple_ref/swift/Method/deflateCompressor(duplicateHeaderBehavior:shouldCompressBodyData:)" class="dashAnchor"></a>
  656. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A07DeflateB10CompressorVRszrlE07deflateE023duplicateHeaderBehavior22shouldCompressBodyDataA2E09DuplicatehI0O_Sb10Foundation0M0VctFZ">deflateCompressor(duplicateHeaderBehavior:<wbr>shouldCompressBodyData:<wbr>)</a>
  657. </code>
  658. <span class="declaration-note">
  659. Extension method
  660. </span>
  661. </div>
  662. <div class="height-container">
  663. <div class="pointer-container"></div>
  664. <section class="section">
  665. <div class="pointer"></div>
  666. <div class="abstract">
  667. <p>Creates a <code><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></code> with the provided <code>DuplicateHeaderBehavior</code> and <code>shouldCompressBodyData</code>
  668. closure.</p>
  669. </div>
  670. <div class="declaration">
  671. <h4>Declaration</h4>
  672. <div class="language">
  673. <p class="aside-title">Swift</p>
  674. <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>
  675. <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>
  676. <span class="nv">shouldCompressBodyData</span><span class="p">:</span> <span class="kd">@escaping</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>
  677. <span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></span></code></pre>
  678. </div>
  679. </div>
  680. <div>
  681. <h4>Parameters</h4>
  682. <table class="graybox">
  683. <tbody>
  684. <tr>
  685. <td>
  686. <code>
  687. <em>duplicateHeaderBehavior</em>
  688. </code>
  689. </td>
  690. <td>
  691. <div>
  692. <p><code>DuplicateHeaderBehavior</code> to use.</p>
  693. </div>
  694. </td>
  695. </tr>
  696. <tr>
  697. <td>
  698. <code>
  699. <em>shouldCompressBodyData</em>
  700. </code>
  701. </td>
  702. <td>
  703. <div>
  704. <p>Closure which determines whether the outgoing body data should be compressed. <code>true</code> by default.</p>
  705. </div>
  706. </td>
  707. </tr>
  708. </tbody>
  709. </table>
  710. </div>
  711. <div>
  712. <h4>Return Value</h4>
  713. <p>The <code><a href="../Structs/DeflateRequestCompressor.html">DeflateRequestCompressor</a></code>.</p>
  714. </div>
  715. </section>
  716. </div>
  717. </li>
  718. </ul>
  719. </div>
  720. <div class="task-group">
  721. <div class="task-name-container">
  722. <a name="/Available%20where%20%60Self%60%20%3D%3D%20%60Interceptor%60"></a>
  723. <a name="//apple_ref/swift/Section/Available where `Self` == `Interceptor`" class="dashAnchor"></a>
  724. <div class="section-name-container">
  725. <a class="section-name-link" href="#/Available%20where%20%60Self%60%20%3D%3D%20%60Interceptor%60"></a>
  726. <h3 class="section-name"><span>Available where <code>Self</code> == <code><a href="../Classes/Interceptor.html">Interceptor</a></code></span>
  727. </h3>
  728. </div>
  729. </div>
  730. <ul class="item-container">
  731. <li class="item">
  732. <div>
  733. <code>
  734. <a name="/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor7adapter7retrierAEy10Foundation10URLRequestV_AA7SessionCys6ResultOyAKs5Error_pGctc_yAA0B0C_AMsAP_pyAA05RetryJ0OctctFZ"></a>
  735. <a name="//apple_ref/swift/Method/interceptor(adapter:retrier:)" class="dashAnchor"></a>
  736. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor7adapter7retrierAEy10Foundation10URLRequestV_AA7SessionCys6ResultOyAKs5Error_pGctc_yAA0B0C_AMsAP_pyAA05RetryJ0OctctFZ">interceptor(adapter:<wbr>retrier:<wbr>)</a>
  737. </code>
  738. <span class="declaration-note">
  739. Extension method
  740. </span>
  741. </div>
  742. <div class="height-container">
  743. <div class="pointer-container"></div>
  744. <section class="section">
  745. <div class="pointer"></div>
  746. <div class="abstract">
  747. <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>
  748. </div>
  749. <div class="declaration">
  750. <h4>Declaration</h4>
  751. <div class="language">
  752. <p class="aside-title">Swift</p>
  753. <pre class="highlight swift"><code><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>
  754. </div>
  755. </div>
  756. <div>
  757. <h4>Parameters</h4>
  758. <table class="graybox">
  759. <tbody>
  760. <tr>
  761. <td>
  762. <code>
  763. <em>adapter</em>
  764. </code>
  765. </td>
  766. <td>
  767. <div>
  768. <p><code>AdapterHandler</code>to use to adapt the request.</p>
  769. </div>
  770. </td>
  771. </tr>
  772. <tr>
  773. <td>
  774. <code>
  775. <em>retrier</em>
  776. </code>
  777. </td>
  778. <td>
  779. <div>
  780. <p><code><a href="../Typealiases.html#/s:9Alamofire12RetryHandlera">RetryHandler</a></code> to use to retry the request.</p>
  781. </div>
  782. </td>
  783. </tr>
  784. </tbody>
  785. </table>
  786. </div>
  787. <div>
  788. <h4>Return Value</h4>
  789. <p>The <code><a href="../Classes/Interceptor.html">Interceptor</a></code>.</p>
  790. </div>
  791. </section>
  792. </div>
  793. </li>
  794. <li class="item">
  795. <div>
  796. <code>
  797. <a name="/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor7adapter7retrierAeA0B7Adapter_p_AA0B7Retrier_ptFZ"></a>
  798. <a name="//apple_ref/swift/Method/interceptor(adapter:retrier:)" class="dashAnchor"></a>
  799. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor7adapter7retrierAeA0B7Adapter_p_AA0B7Retrier_ptFZ">interceptor(adapter:<wbr>retrier:<wbr>)</a>
  800. </code>
  801. <span class="declaration-note">
  802. Extension method
  803. </span>
  804. </div>
  805. <div class="height-container">
  806. <div class="pointer-container"></div>
  807. <section class="section">
  808. <div class="pointer"></div>
  809. <div class="abstract">
  810. <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>
  811. </div>
  812. <div class="declaration">
  813. <h4>Declaration</h4>
  814. <div class="language">
  815. <p class="aside-title">Swift</p>
  816. <pre class="highlight swift"><code><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="kt"><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></span><span class="p">,</span> <span class="nv">retrier</span><span class="p">:</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>
  817. </div>
  818. </div>
  819. <div>
  820. <h4>Parameters</h4>
  821. <table class="graybox">
  822. <tbody>
  823. <tr>
  824. <td>
  825. <code>
  826. <em>adapter</em>
  827. </code>
  828. </td>
  829. <td>
  830. <div>
  831. <p><code><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></code> to use to adapt the request</p>
  832. </div>
  833. </td>
  834. </tr>
  835. <tr>
  836. <td>
  837. <code>
  838. <em>retrier</em>
  839. </code>
  840. </td>
  841. <td>
  842. <div>
  843. <p><code><a href="../Protocols/RequestRetrier.html">RequestRetrier</a></code> to use to retry the request.</p>
  844. </div>
  845. </td>
  846. </tr>
  847. </tbody>
  848. </table>
  849. </div>
  850. <div>
  851. <h4>Return Value</h4>
  852. <p>The <code><a href="../Classes/Interceptor.html">Interceptor</a></code>.</p>
  853. </div>
  854. </section>
  855. </div>
  856. </li>
  857. <li class="item">
  858. <div>
  859. <code>
  860. <a name="/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor8adapters8retriers12interceptorsAESayAA0B7Adapter_pG_SayAA0B7Retrier_pGSayAaB_pGtFZ"></a>
  861. <a name="//apple_ref/swift/Method/interceptor(adapters:retriers:interceptors:)" class="dashAnchor"></a>
  862. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A0C0CRszrlE11interceptor8adapters8retriers12interceptorsAESayAA0B7Adapter_pG_SayAA0B7Retrier_pGSayAaB_pGtFZ">interceptor(adapters:<wbr>retriers:<wbr>interceptors:<wbr>)</a>
  863. </code>
  864. <span class="declaration-note">
  865. Extension method
  866. </span>
  867. </div>
  868. <div class="height-container">
  869. <div class="pointer-container"></div>
  870. <section class="section">
  871. <div class="pointer"></div>
  872. <div class="abstract">
  873. <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>
  874. </div>
  875. <div class="declaration">
  876. <h4>Declaration</h4>
  877. <div class="language">
  878. <p class="aside-title">Swift</p>
  879. <pre class="highlight swift"><code><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="kt"><a href="../Protocols/RequestAdapter.html">RequestAdapter</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">[],</span>
  880. <span class="nv">retriers</span><span class="p">:</span> <span class="p">[</span><span class="kt"><a href="../Protocols/RequestRetrier.html">RequestRetrier</a></span><span class="p">]</span> <span class="o">=</span> <span class="p">[],</span>
  881. <span class="nv">interceptors</span><span class="p">:</span> <span class="p">[</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>
  882. </div>
  883. </div>
  884. <div>
  885. <h4>Parameters</h4>
  886. <table class="graybox">
  887. <tbody>
  888. <tr>
  889. <td>
  890. <code>
  891. <em>adapters</em>
  892. </code>
  893. </td>
  894. <td>
  895. <div>
  896. <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>
  897. </div>
  898. </td>
  899. </tr>
  900. <tr>
  901. <td>
  902. <code>
  903. <em>retriers</em>
  904. </code>
  905. </td>
  906. <td>
  907. <div>
  908. <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
  909. a retry is triggered.</p>
  910. </div>
  911. </td>
  912. </tr>
  913. <tr>
  914. <td>
  915. <code>
  916. <em>interceptors</em>
  917. </code>
  918. </td>
  919. <td>
  920. <div>
  921. <p><code>RequestInterceptor</code>s to use to intercept the request.</p>
  922. </div>
  923. </td>
  924. </tr>
  925. </tbody>
  926. </table>
  927. </div>
  928. <div>
  929. <h4>Return Value</h4>
  930. <p>The <code><a href="../Classes/Interceptor.html">Interceptor</a></code>.</p>
  931. </div>
  932. </section>
  933. </div>
  934. </li>
  935. </ul>
  936. </div>
  937. <div class="task-group">
  938. <div class="task-name-container">
  939. <a name="/Available%20where%20%60Self%60%20%3D%3D%20%60RetryPolicy%60"></a>
  940. <a name="//apple_ref/swift/Section/Available where `Self` == `RetryPolicy`" class="dashAnchor"></a>
  941. <div class="section-name-container">
  942. <a class="section-name-link" href="#/Available%20where%20%60Self%60%20%3D%3D%20%60RetryPolicy%60"></a>
  943. <h3 class="section-name"><span>Available where <code>Self</code> == <code><a href="../Classes/RetryPolicy.html">RetryPolicy</a></code></span>
  944. </h3>
  945. </div>
  946. </div>
  947. <ul class="item-container">
  948. <li class="item">
  949. <div>
  950. <code>
  951. <a name="/s:9Alamofire18RequestInterceptorPA2A11RetryPolicyCRszrlE05retryE0AEvpZ"></a>
  952. <a name="//apple_ref/swift/Variable/retryPolicy" class="dashAnchor"></a>
  953. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A11RetryPolicyCRszrlE05retryE0AEvpZ">retryPolicy</a>
  954. </code>
  955. <span class="declaration-note">
  956. Extension method
  957. </span>
  958. </div>
  959. <div class="height-container">
  960. <div class="pointer-container"></div>
  961. <section class="section">
  962. <div class="pointer"></div>
  963. <div class="abstract">
  964. <p>Provides a default <code><a href="../Classes/RetryPolicy.html">RetryPolicy</a></code> instance.</p>
  965. </div>
  966. <div class="declaration">
  967. <h4>Declaration</h4>
  968. <div class="language">
  969. <p class="aside-title">Swift</p>
  970. <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>
  971. </div>
  972. </div>
  973. </section>
  974. </div>
  975. </li>
  976. <li class="item">
  977. <div>
  978. <code>
  979. <a name="/s:9Alamofire18RequestInterceptorPA2A11RetryPolicyCRszrlE05retryE00F5Limit22exponentialBackoffBase0hI5Scale20retryableHTTPMethods0L15HTTPStatusCodes0l8URLErrorO0AESu_SuSdShyAA10HTTPMethodVGShySiGShy10Foundation0P0V4CodeVGtFZ"></a>
  980. <a name="//apple_ref/swift/Method/retryPolicy(retryLimit:exponentialBackoffBase:exponentialBackoffScale:retryableHTTPMethods:retryableHTTPStatusCodes:retryableURLErrorCodes:)" class="dashAnchor"></a>
  981. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A11RetryPolicyCRszrlE05retryE00F5Limit22exponentialBackoffBase0hI5Scale20retryableHTTPMethods0L15HTTPStatusCodes0l8URLErrorO0AESu_SuSdShyAA10HTTPMethodVGShySiGShy10Foundation0P0V4CodeVGtFZ">retryPolicy(retryLimit:<wbr>exponentialBackoffBase:<wbr>exponentialBackoffScale:<wbr>retryableHTTPMethods:<wbr>retryableHTTPStatusCodes:<wbr>retryableURLErrorCodes:<wbr>)</a>
  982. </code>
  983. <span class="declaration-note">
  984. Extension method
  985. </span>
  986. </div>
  987. <div class="height-container">
  988. <div class="pointer-container"></div>
  989. <section class="section">
  990. <div class="pointer"></div>
  991. <div class="abstract">
  992. <p>Creates an <code><a href="../Classes/RetryPolicy.html">RetryPolicy</a></code> from the specified parameters.</p>
  993. </div>
  994. <div class="declaration">
  995. <h4>Declaration</h4>
  996. <div class="language">
  997. <p class="aside-title">Swift</p>
  998. <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>
  999. <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>
  1000. <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>
  1001. <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>
  1002. <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>
  1003. <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>
  1004. </div>
  1005. </div>
  1006. <div>
  1007. <h4>Parameters</h4>
  1008. <table class="graybox">
  1009. <tbody>
  1010. <tr>
  1011. <td>
  1012. <code>
  1013. <em>retryLimit</em>
  1014. </code>
  1015. </td>
  1016. <td>
  1017. <div>
  1018. <p>The total number of times the request is allowed to be retried. <code>2</code> by default.</p>
  1019. </div>
  1020. </td>
  1021. </tr>
  1022. <tr>
  1023. <td>
  1024. <code>
  1025. <em>exponentialBackoffBase</em>
  1026. </code>
  1027. </td>
  1028. <td>
  1029. <div>
  1030. <p>The base of the exponential backoff policy. <code>2</code> by default.</p>
  1031. </div>
  1032. </td>
  1033. </tr>
  1034. <tr>
  1035. <td>
  1036. <code>
  1037. <em>exponentialBackoffScale</em>
  1038. </code>
  1039. </td>
  1040. <td>
  1041. <div>
  1042. <p>The scale of the exponential backoff. <code>0.5</code> by default.</p>
  1043. </div>
  1044. </td>
  1045. </tr>
  1046. <tr>
  1047. <td>
  1048. <code>
  1049. <em>retryableHTTPMethods</em>
  1050. </code>
  1051. </td>
  1052. <td>
  1053. <div>
  1054. <p>The HTTP methods that are allowed to be retried.
  1055. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC27defaultRetryableHTTPMethodsShyAA10HTTPMethodVGvpZ">RetryPolicy.defaultRetryableHTTPMethods</a></code> by default.</p>
  1056. </div>
  1057. </td>
  1058. </tr>
  1059. <tr>
  1060. <td>
  1061. <code>
  1062. <em>retryableHTTPStatusCodes</em>
  1063. </code>
  1064. </td>
  1065. <td>
  1066. <div>
  1067. <p>The HTTP status codes that are automatically retried by the policy.
  1068. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC31defaultRetryableHTTPStatusCodesShySiGvpZ">RetryPolicy.defaultRetryableHTTPStatusCodes</a></code> by default.</p>
  1069. </div>
  1070. </td>
  1071. </tr>
  1072. <tr>
  1073. <td>
  1074. <code>
  1075. <em>retryableURLErrorCodes</em>
  1076. </code>
  1077. </td>
  1078. <td>
  1079. <div>
  1080. <p>The URL error codes that are automatically retried by the policy.
  1081. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC29defaultRetryableURLErrorCodesShy10Foundation0F0V4CodeVGvpZ">RetryPolicy.defaultRetryableURLErrorCodes</a></code> by default.</p>
  1082. </div>
  1083. </td>
  1084. </tr>
  1085. </tbody>
  1086. </table>
  1087. </div>
  1088. <div>
  1089. <h4>Return Value</h4>
  1090. <p>The <code><a href="../Classes/RetryPolicy.html">RetryPolicy</a></code></p>
  1091. </div>
  1092. </section>
  1093. </div>
  1094. </li>
  1095. </ul>
  1096. </div>
  1097. <div class="task-group">
  1098. <div class="task-name-container">
  1099. <a name="/Available%20where%20%60Self%60%20%3D%3D%20%60ConnectionLostRetryPolicy%60"></a>
  1100. <a name="//apple_ref/swift/Section/Available where `Self` == `ConnectionLostRetryPolicy`" class="dashAnchor"></a>
  1101. <div class="section-name-container">
  1102. <a class="section-name-link" href="#/Available%20where%20%60Self%60%20%3D%3D%20%60ConnectionLostRetryPolicy%60"></a>
  1103. <h3 class="section-name"><span>Available where <code>Self</code> == <code><a href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a></code></span>
  1104. </h3>
  1105. </div>
  1106. </div>
  1107. <ul class="item-container">
  1108. <li class="item">
  1109. <div>
  1110. <code>
  1111. <a name="/s:9Alamofire18RequestInterceptorPA2A25ConnectionLostRetryPolicyCRszrlE010connectionefG0AEvpZ"></a>
  1112. <a name="//apple_ref/swift/Variable/connectionLostRetryPolicy" class="dashAnchor"></a>
  1113. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A25ConnectionLostRetryPolicyCRszrlE010connectionefG0AEvpZ">connectionLostRetryPolicy</a>
  1114. </code>
  1115. <span class="declaration-note">
  1116. Extension method
  1117. </span>
  1118. </div>
  1119. <div class="height-container">
  1120. <div class="pointer-container"></div>
  1121. <section class="section">
  1122. <div class="pointer"></div>
  1123. <div class="abstract">
  1124. <p>Provides a default <code><a href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a></code> instance.</p>
  1125. </div>
  1126. <div class="declaration">
  1127. <h4>Declaration</h4>
  1128. <div class="language">
  1129. <p class="aside-title">Swift</p>
  1130. <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>
  1131. </div>
  1132. </div>
  1133. </section>
  1134. </div>
  1135. </li>
  1136. <li class="item">
  1137. <div>
  1138. <code>
  1139. <a name="/s:9Alamofire18RequestInterceptorPA2A25ConnectionLostRetryPolicyCRszrlE010connectionefG010retryLimit22exponentialBackoffBase0kL5Scale20retryableHTTPMethodsAESu_SuSdShyAA10HTTPMethodVGtFZ"></a>
  1140. <a name="//apple_ref/swift/Method/connectionLostRetryPolicy(retryLimit:exponentialBackoffBase:exponentialBackoffScale:retryableHTTPMethods:)" class="dashAnchor"></a>
  1141. <a class="token" href="#/s:9Alamofire18RequestInterceptorPA2A25ConnectionLostRetryPolicyCRszrlE010connectionefG010retryLimit22exponentialBackoffBase0kL5Scale20retryableHTTPMethodsAESu_SuSdShyAA10HTTPMethodVGtFZ">connectionLostRetryPolicy(retryLimit:<wbr>exponentialBackoffBase:<wbr>exponentialBackoffScale:<wbr>retryableHTTPMethods:<wbr>)</a>
  1142. </code>
  1143. <span class="declaration-note">
  1144. Extension method
  1145. </span>
  1146. </div>
  1147. <div class="height-container">
  1148. <div class="pointer-container"></div>
  1149. <section class="section">
  1150. <div class="pointer"></div>
  1151. <div class="abstract">
  1152. <p>Creates a <code><a href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a></code> instance from the specified parameters.</p>
  1153. </div>
  1154. <div class="declaration">
  1155. <h4>Declaration</h4>
  1156. <div class="language">
  1157. <p class="aside-title">Swift</p>
  1158. <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>
  1159. <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>
  1160. <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>
  1161. <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>
  1162. </div>
  1163. </div>
  1164. <div>
  1165. <h4>Parameters</h4>
  1166. <table class="graybox">
  1167. <tbody>
  1168. <tr>
  1169. <td>
  1170. <code>
  1171. <em>retryLimit</em>
  1172. </code>
  1173. </td>
  1174. <td>
  1175. <div>
  1176. <p>The total number of times the request is allowed to be retried.
  1177. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC07defaultB5LimitSuvpZ">RetryPolicy.defaultRetryLimit</a></code> by default.</p>
  1178. </div>
  1179. </td>
  1180. </tr>
  1181. <tr>
  1182. <td>
  1183. <code>
  1184. <em>exponentialBackoffBase</em>
  1185. </code>
  1186. </td>
  1187. <td>
  1188. <div>
  1189. <p>The base of the exponential backoff policy.
  1190. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC29defaultExponentialBackoffBaseSuvpZ">RetryPolicy.defaultExponentialBackoffBase</a></code> by default.</p>
  1191. </div>
  1192. </td>
  1193. </tr>
  1194. <tr>
  1195. <td>
  1196. <code>
  1197. <em>exponentialBackoffScale</em>
  1198. </code>
  1199. </td>
  1200. <td>
  1201. <div>
  1202. <p>The scale of the exponential backoff.
  1203. <code><a href="../Classes/RetryPolicy.html#/s:9Alamofire11RetryPolicyC30defaultExponentialBackoffScaleSdvpZ">RetryPolicy.defaultExponentialBackoffScale</a></code> by default.</p>
  1204. </div>
  1205. </td>
  1206. </tr>
  1207. <tr>
  1208. <td>
  1209. <code>
  1210. <em>retryableHTTPMethods</em>
  1211. </code>
  1212. </td>
  1213. <td>
  1214. <div>
  1215. <p>The idempotent http methods to retry.</p>
  1216. </div>
  1217. </td>
  1218. </tr>
  1219. </tbody>
  1220. </table>
  1221. </div>
  1222. <div>
  1223. <h4>Return Value</h4>
  1224. <p>The <code><a href="../Classes/ConnectionLostRetryPolicy.html">ConnectionLostRetryPolicy</a></code>.</p>
  1225. </div>
  1226. </section>
  1227. </div>
  1228. </li>
  1229. </ul>
  1230. </div>
  1231. </div>
  1232. </section>
  1233. </article>
  1234. </div>
  1235. <section class="footer">
  1236. <p>&copy; 2023 <a class="link" href="http://alamofire.org/" target="_blank" rel="external noopener">Alamofire Software Foundation</a>. All rights reserved. (Last updated: 2023-10-25)</p>
  1237. <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.14.4</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
  1238. </section>
  1239. </body>
  1240. </html>