SessionManager.html 122 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>SessionManager Class 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/Class/SessionManager" class="dashAnchor"></a>
  16. <a title="SessionManager Class Reference"></a>
  17. <header class="header">
  18. <p class="header-col header-col--primary">
  19. <a class="header-link" href="../index.html">
  20. Alamofire Docs
  21. </a>
  22. (87% documented)
  23. </p>
  24. <p class="header-col--secondary">
  25. <form role="search" action="../search.json">
  26. <input type="text" placeholder="Search documentation" data-typeahead>
  27. </form>
  28. </p>
  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"/>
  32. View on GitHub
  33. </a>
  34. </p>
  35. </header>
  36. <p class="breadcrumbs">
  37. <a class="breadcrumb" href="../index.html">Alamofire Reference</a>
  38. <img class="carat" src="../img/carat.png" />
  39. SessionManager Class Reference
  40. </p>
  41. <div class="content-wrapper">
  42. <nav class="navigation">
  43. <ul class="nav-groups">
  44. <li class="nav-group-name">
  45. <a class="nav-group-name-link" href="../Classes.html">Classes</a>
  46. <ul class="nav-group-tasks">
  47. <li class="nav-group-task">
  48. <a class="nav-group-task-link" href="../Classes/DataRequest.html">DataRequest</a>
  49. </li>
  50. <li class="nav-group-task">
  51. <a class="nav-group-task-link" href="../Classes/DownloadRequest.html">DownloadRequest</a>
  52. </li>
  53. <li class="nav-group-task">
  54. <a class="nav-group-task-link" href="../Classes/DownloadRequest/DownloadOptions.html">– DownloadOptions</a>
  55. </li>
  56. <li class="nav-group-task">
  57. <a class="nav-group-task-link" href="../Classes/MultipartFormData.html">MultipartFormData</a>
  58. </li>
  59. <li class="nav-group-task">
  60. <a class="nav-group-task-link" href="../Classes/NetworkReachabilityManager.html">NetworkReachabilityManager</a>
  61. </li>
  62. <li class="nav-group-task">
  63. <a class="nav-group-task-link" href="../Classes/NetworkReachabilityManager/NetworkReachabilityStatus.html">– NetworkReachabilityStatus</a>
  64. </li>
  65. <li class="nav-group-task">
  66. <a class="nav-group-task-link" href="../Classes/NetworkReachabilityManager/ConnectionType.html">– ConnectionType</a>
  67. </li>
  68. <li class="nav-group-task">
  69. <a class="nav-group-task-link" href="../Classes/Request.html">Request</a>
  70. </li>
  71. <li class="nav-group-task">
  72. <a class="nav-group-task-link" href="../Classes/Request/ValidationResult.html">– ValidationResult</a>
  73. </li>
  74. <li class="nav-group-task">
  75. <a class="nav-group-task-link" href="../Classes/ServerTrustPolicyManager.html">ServerTrustPolicyManager</a>
  76. </li>
  77. <li class="nav-group-task">
  78. <a class="nav-group-task-link" href="../Classes/SessionDelegate.html">SessionDelegate</a>
  79. </li>
  80. <li class="nav-group-task">
  81. <a class="nav-group-task-link" href="../Classes/SessionManager.html">SessionManager</a>
  82. </li>
  83. <li class="nav-group-task">
  84. <a class="nav-group-task-link" href="../Classes/SessionManager/MultipartFormDataEncodingResult.html">– MultipartFormDataEncodingResult</a>
  85. </li>
  86. <li class="nav-group-task">
  87. <a class="nav-group-task-link" href="../Classes.html#/s:9Alamofire13StreamRequestC">StreamRequest</a>
  88. </li>
  89. <li class="nav-group-task">
  90. <a class="nav-group-task-link" href="../Classes/TaskDelegate.html">TaskDelegate</a>
  91. </li>
  92. <li class="nav-group-task">
  93. <a class="nav-group-task-link" href="../Classes/UploadRequest.html">UploadRequest</a>
  94. </li>
  95. </ul>
  96. </li>
  97. <li class="nav-group-name">
  98. <a class="nav-group-name-link" href="../Enums.html">Enums</a>
  99. <ul class="nav-group-tasks">
  100. <li class="nav-group-task">
  101. <a class="nav-group-task-link" href="../Enums/AFError.html">AFError</a>
  102. </li>
  103. <li class="nav-group-task">
  104. <a class="nav-group-task-link" href="../Enums/AFError/ParameterEncodingFailureReason.html">– ParameterEncodingFailureReason</a>
  105. </li>
  106. <li class="nav-group-task">
  107. <a class="nav-group-task-link" href="../Enums/AFError/MultipartEncodingFailureReason.html">– MultipartEncodingFailureReason</a>
  108. </li>
  109. <li class="nav-group-task">
  110. <a class="nav-group-task-link" href="../Enums/AFError/ResponseValidationFailureReason.html">– ResponseValidationFailureReason</a>
  111. </li>
  112. <li class="nav-group-task">
  113. <a class="nav-group-task-link" href="../Enums/AFError/ResponseSerializationFailureReason.html">– ResponseSerializationFailureReason</a>
  114. </li>
  115. <li class="nav-group-task">
  116. <a class="nav-group-task-link" href="../Enums/HTTPMethod.html">HTTPMethod</a>
  117. </li>
  118. <li class="nav-group-task">
  119. <a class="nav-group-task-link" href="../Enums/Result.html">Result</a>
  120. </li>
  121. <li class="nav-group-task">
  122. <a class="nav-group-task-link" href="../Enums/ServerTrustPolicy.html">ServerTrustPolicy</a>
  123. </li>
  124. </ul>
  125. </li>
  126. <li class="nav-group-name">
  127. <a class="nav-group-name-link" href="../Extensions.html">Extensions</a>
  128. <ul class="nav-group-tasks">
  129. <li class="nav-group-task">
  130. <a class="nav-group-task-link" href="../Extensions/Notification.html">Notification</a>
  131. </li>
  132. <li class="nav-group-task">
  133. <a class="nav-group-task-link" href="../Extensions/Notification/Name.html">– Name</a>
  134. </li>
  135. <li class="nav-group-task">
  136. <a class="nav-group-task-link" href="../Extensions/Notification/Key.html">– Key</a>
  137. </li>
  138. <li class="nav-group-task">
  139. <a class="nav-group-task-link" href="../Extensions/String.html">String</a>
  140. </li>
  141. <li class="nav-group-task">
  142. <a class="nav-group-task-link" href="../Extensions/URL.html">URL</a>
  143. </li>
  144. <li class="nav-group-task">
  145. <a class="nav-group-task-link" href="../Extensions/URLComponents.html">URLComponents</a>
  146. </li>
  147. <li class="nav-group-task">
  148. <a class="nav-group-task-link" href="../Extensions/URLRequest.html">URLRequest</a>
  149. </li>
  150. </ul>
  151. </li>
  152. <li class="nav-group-name">
  153. <a class="nav-group-name-link" href="../Functions.html">Functions</a>
  154. <ul class="nav-group-tasks">
  155. <li class="nav-group-task">
  156. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire2eeoiSbAA26NetworkReachabilityManagerC0cD6StatusO_AFtF">==(_:_:)</a>
  157. </li>
  158. <li class="nav-group-task">
  159. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire8downloadAA15DownloadRequestCAA14URLConvertible_p_AA10HTTPMethodO6methods10DictionaryVySSypGSg10parametersAA17ParameterEncoding_p8encodingAJyS2SGSg7headers10Foundation3URLV011destinationO0_AD0C7OptionsV7optionstAU_So15HTTPURLResponseCtcSg2totF">download(_:method:parameters:encoding:headers:to:)</a>
  160. </li>
  161. <li class="nav-group-task">
  162. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire8downloadAA15DownloadRequestCAA21URLRequestConvertible_p_10Foundation3URLV011destinationH0_AD0C7OptionsV7optionstAH_So15HTTPURLResponseCtcSg2totF">download(_:to:)</a>
  163. </li>
  164. <li class="nav-group-task">
  165. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire8downloadAA15DownloadRequestC10Foundation4DataV12resumingWith_AE3URLV011destinationI0_AD0C7OptionsV7optionstAJ_So15HTTPURLResponseCtcSg2totF">download(resumingWith:to:)</a>
  166. </li>
  167. <li class="nav-group-task">
  168. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire7requestAA11DataRequestCAA21URLRequestConvertible_pF">request(_:)</a>
  169. </li>
  170. <li class="nav-group-task">
  171. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire7requestAA11DataRequestCAA14URLConvertible_p_AA10HTTPMethodO6methods10DictionaryVySSypGSg10parametersAA17ParameterEncoding_p8encodingAJyS2SGSg7headerstF">request(_:method:parameters:encoding:headers:)</a>
  172. </li>
  173. <li class="nav-group-task">
  174. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire6streamAA13StreamRequestCSo10NetServiceC4with_tF">stream(with:)</a>
  175. </li>
  176. <li class="nav-group-task">
  177. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire6streamAA13StreamRequestCSS12withHostName_Si4porttF">stream(withHostName:port:)</a>
  178. </li>
  179. <li class="nav-group-task">
  180. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire6uploadAA13UploadRequestC10Foundation3URLV_AA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headerstF">upload(_:to:method:headers:)</a>
  181. </li>
  182. <li class="nav-group-task">
  183. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire6uploadAA13UploadRequestC10Foundation4DataV_AA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headerstF">upload(_:to:method:headers:)</a>
  184. </li>
  185. <li class="nav-group-task">
  186. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire6uploadAA13UploadRequestCSo11InputStreamC_AA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headerstF">upload(_:to:method:headers:)</a>
  187. </li>
  188. <li class="nav-group-task">
  189. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire6uploadAA13UploadRequestC10Foundation3URLV_AA21URLRequestConvertible_p4withtF">upload(_:with:)</a>
  190. </li>
  191. <li class="nav-group-task">
  192. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire6uploadAA13UploadRequestC10Foundation4DataV_AA21URLRequestConvertible_p4withtF">upload(_:with:)</a>
  193. </li>
  194. <li class="nav-group-task">
  195. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire6uploadAA13UploadRequestCSo11InputStreamC_AA21URLRequestConvertible_p4withtF">upload(_:with:)</a>
  196. </li>
  197. <li class="nav-group-task">
  198. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire6uploadyyAA17MultipartFormDataCc09multipartdE0_s6UInt64V14usingThresholdAA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headersyAA14SessionManagerC0cdE14EncodingResultOcSg18encodingCompletiontF">upload(multipartFormData:usingThreshold:to:method:headers:encodingCompletion:)</a>
  199. </li>
  200. <li class="nav-group-task">
  201. <a class="nav-group-task-link" href="../Functions.html#/s:9Alamofire6uploadyyAA17MultipartFormDataCc09multipartdE0_s6UInt64V14usingThresholdAA21URLRequestConvertible_p4withyAA14SessionManagerC0cdE14EncodingResultOcSg18encodingCompletiontF">upload(multipartFormData:usingThreshold:with:encodingCompletion:)</a>
  202. </li>
  203. </ul>
  204. </li>
  205. <li class="nav-group-name">
  206. <a class="nav-group-name-link" href="../Protocols.html">Protocols</a>
  207. <ul class="nav-group-tasks">
  208. <li class="nav-group-task">
  209. <a class="nav-group-task-link" href="../Protocols/DataResponseSerializerProtocol.html">DataResponseSerializerProtocol</a>
  210. </li>
  211. <li class="nav-group-task">
  212. <a class="nav-group-task-link" href="../Protocols/DownloadResponseSerializerProtocol.html">DownloadResponseSerializerProtocol</a>
  213. </li>
  214. <li class="nav-group-task">
  215. <a class="nav-group-task-link" href="../Protocols/ParameterEncoding.html">ParameterEncoding</a>
  216. </li>
  217. <li class="nav-group-task">
  218. <a class="nav-group-task-link" href="../Protocols/RequestAdapter.html">RequestAdapter</a>
  219. </li>
  220. <li class="nav-group-task">
  221. <a class="nav-group-task-link" href="../Protocols/RequestRetrier.html">RequestRetrier</a>
  222. </li>
  223. <li class="nav-group-task">
  224. <a class="nav-group-task-link" href="../Protocols/URLConvertible.html">URLConvertible</a>
  225. </li>
  226. <li class="nav-group-task">
  227. <a class="nav-group-task-link" href="../Protocols/URLRequestConvertible.html">URLRequestConvertible</a>
  228. </li>
  229. </ul>
  230. </li>
  231. <li class="nav-group-name">
  232. <a class="nav-group-name-link" href="../Structs.html">Structs</a>
  233. <ul class="nav-group-tasks">
  234. <li class="nav-group-task">
  235. <a class="nav-group-task-link" href="../Structs/DataResponse.html">DataResponse</a>
  236. </li>
  237. <li class="nav-group-task">
  238. <a class="nav-group-task-link" href="../Structs/DataResponseSerializer.html">DataResponseSerializer</a>
  239. </li>
  240. <li class="nav-group-task">
  241. <a class="nav-group-task-link" href="../Structs/DefaultDataResponse.html">DefaultDataResponse</a>
  242. </li>
  243. <li class="nav-group-task">
  244. <a class="nav-group-task-link" href="../Structs/DefaultDownloadResponse.html">DefaultDownloadResponse</a>
  245. </li>
  246. <li class="nav-group-task">
  247. <a class="nav-group-task-link" href="../Structs/DownloadResponse.html">DownloadResponse</a>
  248. </li>
  249. <li class="nav-group-task">
  250. <a class="nav-group-task-link" href="../Structs/DownloadResponseSerializer.html">DownloadResponseSerializer</a>
  251. </li>
  252. <li class="nav-group-task">
  253. <a class="nav-group-task-link" href="../Structs/JSONEncoding.html">JSONEncoding</a>
  254. </li>
  255. <li class="nav-group-task">
  256. <a class="nav-group-task-link" href="../Structs/PropertyListEncoding.html">PropertyListEncoding</a>
  257. </li>
  258. <li class="nav-group-task">
  259. <a class="nav-group-task-link" href="../Structs/Timeline.html">Timeline</a>
  260. </li>
  261. <li class="nav-group-task">
  262. <a class="nav-group-task-link" href="../Structs/URLEncoding.html">URLEncoding</a>
  263. </li>
  264. <li class="nav-group-task">
  265. <a class="nav-group-task-link" href="../Structs/URLEncoding/Destination.html">– Destination</a>
  266. </li>
  267. </ul>
  268. </li>
  269. <li class="nav-group-name">
  270. <a class="nav-group-name-link" href="../Typealiases.html">Typealiases</a>
  271. <ul class="nav-group-tasks">
  272. <li class="nav-group-task">
  273. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire11HTTPHeadersa">HTTPHeaders</a>
  274. </li>
  275. <li class="nav-group-task">
  276. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire10Parametersa">Parameters</a>
  277. </li>
  278. <li class="nav-group-task">
  279. <a class="nav-group-task-link" href="../Typealiases.html#/s:9Alamofire22RequestRetryCompletiona">RequestRetryCompletion</a>
  280. </li>
  281. </ul>
  282. </li>
  283. </ul>
  284. </nav>
  285. <article class="main-content">
  286. <section class="section">
  287. <div class="section-content">
  288. <h1>SessionManager</h1>
  289. <div class="declaration">
  290. <div class="language">
  291. <pre class="highlight"><code><span class="n">open</span> <span class="kd">class</span> <span class="kt">SessionManager</span></code></pre>
  292. </div>
  293. </div>
  294. <p>Responsible for creating and managing <code><a href="../Classes/Request.html">Request</a></code> objects, as well as their underlying <code>NSURLSession</code>.</p>
  295. </div>
  296. </section>
  297. <section class="section">
  298. <div class="section-content">
  299. <div class="task-group">
  300. <div class="task-name-container">
  301. <a name="/Helper%20Types"></a>
  302. <a name="//apple_ref/swift/Section/Helper Types" class="dashAnchor"></a>
  303. <a href="#/Helper%20Types">
  304. <h3 class="section-name">Helper Types</h3>
  305. </a>
  306. </div>
  307. <ul class="item-container">
  308. <li class="item">
  309. <div>
  310. <code>
  311. <a name="/s:9Alamofire14SessionManagerC31MultipartFormDataEncodingResultO"></a>
  312. <a name="//apple_ref/swift/Enum/MultipartFormDataEncodingResult" class="dashAnchor"></a>
  313. <a class="token" href="#/s:9Alamofire14SessionManagerC31MultipartFormDataEncodingResultO">MultipartFormDataEncodingResult</a>
  314. </code>
  315. </div>
  316. <div class="height-container">
  317. <div class="pointer-container"></div>
  318. <section class="section">
  319. <div class="pointer"></div>
  320. <div class="abstract">
  321. <p>Defines whether the <code><a href="../Classes/MultipartFormData.html">MultipartFormData</a></code> encoding was successful and contains result of the encoding as
  322. associated values.</p>
  323. <ul>
  324. <li>Success: Represents a successful <code><a href="../Classes/MultipartFormData.html">MultipartFormData</a></code> encoding and contains the new <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code> along with
  325. streaming information.</li>
  326. <li>Failure: Used to represent a failure in the <code><a href="../Classes/MultipartFormData.html">MultipartFormData</a></code> encoding and also contains the encoding
  327. error.</li>
  328. </ul>
  329. <a href="../Classes/SessionManager/MultipartFormDataEncodingResult.html" class="slightly-smaller">See more</a>
  330. </div>
  331. <div class="declaration">
  332. <h4>Declaration</h4>
  333. <div class="language">
  334. <p class="aside-title">Swift</p>
  335. <pre class="highlight"><code><span class="kd">public</span> <span class="kd">enum</span> <span class="kt">MultipartFormDataEncodingResult</span></code></pre>
  336. </div>
  337. </div>
  338. </section>
  339. </div>
  340. </li>
  341. </ul>
  342. </div>
  343. <div class="task-group">
  344. <div class="task-name-container">
  345. <a name="/Properties"></a>
  346. <a name="//apple_ref/swift/Section/Properties" class="dashAnchor"></a>
  347. <a href="#/Properties">
  348. <h3 class="section-name">Properties</h3>
  349. </a>
  350. </div>
  351. <ul class="item-container">
  352. <li class="item">
  353. <div>
  354. <code>
  355. <a name="/s:9Alamofire14SessionManagerC7defaultACvZ"></a>
  356. <a name="//apple_ref/swift/Variable/default" class="dashAnchor"></a>
  357. <a class="token" href="#/s:9Alamofire14SessionManagerC7defaultACvZ">default</a>
  358. </code>
  359. </div>
  360. <div class="height-container">
  361. <div class="pointer-container"></div>
  362. <section class="section">
  363. <div class="pointer"></div>
  364. <div class="abstract">
  365. <p>A default instance of <code>SessionManager</code>, used by top-level Alamofire request methods, and suitable for use
  366. directly for any ad hoc requests.</p>
  367. </div>
  368. <div class="declaration">
  369. <h4>Declaration</h4>
  370. <div class="language">
  371. <p class="aside-title">Swift</p>
  372. <pre class="highlight"><code><span class="n">open</span> <span class="kd">static</span> <span class="kd">let</span> <span class="err">`</span><span class="k">default</span><span class="err">`</span><span class="p">:</span> <span class="kt">SessionManager</span> <span class="o">=</span></code></pre>
  373. </div>
  374. </div>
  375. </section>
  376. </div>
  377. </li>
  378. <li class="item">
  379. <div>
  380. <code>
  381. <a name="/s:9Alamofire14SessionManagerC18defaultHTTPHeaderss10DictionaryVyS2SGvZ"></a>
  382. <a name="//apple_ref/swift/Variable/defaultHTTPHeaders" class="dashAnchor"></a>
  383. <a class="token" href="#/s:9Alamofire14SessionManagerC18defaultHTTPHeaderss10DictionaryVyS2SGvZ">defaultHTTPHeaders</a>
  384. </code>
  385. </div>
  386. <div class="height-container">
  387. <div class="pointer-container"></div>
  388. <section class="section">
  389. <div class="pointer"></div>
  390. <div class="abstract">
  391. <p>Creates default values for the <q>Accept-Encoding</q>, <q>Accept-Language</q> and <q>User-Agent</q> headers.</p>
  392. </div>
  393. <div class="declaration">
  394. <h4>Declaration</h4>
  395. <div class="language">
  396. <p class="aside-title">Swift</p>
  397. <pre class="highlight"><code><span class="n">open</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">defaultHTTPHeaders</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire11HTTPHeadersa">HTTPHeaders</a></span> <span class="o">=</span></code></pre>
  398. </div>
  399. </div>
  400. </section>
  401. </div>
  402. </li>
  403. <li class="item">
  404. <div>
  405. <code>
  406. <a name="/s:9Alamofire14SessionManagerC40multipartFormDataEncodingMemoryThresholds6UInt64VvZ"></a>
  407. <a name="//apple_ref/swift/Variable/multipartFormDataEncodingMemoryThreshold" class="dashAnchor"></a>
  408. <a class="token" href="#/s:9Alamofire14SessionManagerC40multipartFormDataEncodingMemoryThresholds6UInt64VvZ">multipartFormDataEncodingMemoryThreshold</a>
  409. </code>
  410. </div>
  411. <div class="height-container">
  412. <div class="pointer-container"></div>
  413. <section class="section">
  414. <div class="pointer"></div>
  415. <div class="abstract">
  416. <p>Default memory threshold used when encoding <code><a href="../Classes/MultipartFormData.html">MultipartFormData</a></code> in bytes.</p>
  417. </div>
  418. <div class="declaration">
  419. <h4>Declaration</h4>
  420. <div class="language">
  421. <p class="aside-title">Swift</p>
  422. <pre class="highlight"><code><span class="n">open</span> <span class="kd">static</span> <span class="k">let</span> <span class="nv">multipartFormDataEncodingMemoryThreshold</span><span class="p">:</span> <span class="kt">UInt64</span> <span class="o">=</span> <span class="mi">10_000_000</span></code></pre>
  423. </div>
  424. </div>
  425. </section>
  426. </div>
  427. </li>
  428. <li class="item">
  429. <div>
  430. <code>
  431. <a name="/s:9Alamofire14SessionManagerC7sessionSo10URLSessionCv"></a>
  432. <a name="//apple_ref/swift/Property/session" class="dashAnchor"></a>
  433. <a class="token" href="#/s:9Alamofire14SessionManagerC7sessionSo10URLSessionCv">session</a>
  434. </code>
  435. </div>
  436. <div class="height-container">
  437. <div class="pointer-container"></div>
  438. <section class="section">
  439. <div class="pointer"></div>
  440. <div class="abstract">
  441. <p>The underlying session.</p>
  442. </div>
  443. <div class="declaration">
  444. <h4>Declaration</h4>
  445. <div class="language">
  446. <p class="aside-title">Swift</p>
  447. <pre class="highlight"><code><span class="n">open</span> <span class="k">let</span> <span class="nv">session</span><span class="p">:</span> <span class="kt">URLSession</span></code></pre>
  448. </div>
  449. </div>
  450. </section>
  451. </div>
  452. </li>
  453. <li class="item">
  454. <div>
  455. <code>
  456. <a name="/s:9Alamofire14SessionManagerC8delegateAA0B8DelegateCv"></a>
  457. <a name="//apple_ref/swift/Property/delegate" class="dashAnchor"></a>
  458. <a class="token" href="#/s:9Alamofire14SessionManagerC8delegateAA0B8DelegateCv">delegate</a>
  459. </code>
  460. </div>
  461. <div class="height-container">
  462. <div class="pointer-container"></div>
  463. <section class="section">
  464. <div class="pointer"></div>
  465. <div class="abstract">
  466. <p>The session delegate handling all the task and session delegate callbacks.</p>
  467. </div>
  468. <div class="declaration">
  469. <h4>Declaration</h4>
  470. <div class="language">
  471. <p class="aside-title">Swift</p>
  472. <pre class="highlight"><code><span class="n">open</span> <span class="k">let</span> <span class="nv">delegate</span><span class="p">:</span> <span class="kt"><a href="../Classes/SessionDelegate.html">SessionDelegate</a></span></code></pre>
  473. </div>
  474. </div>
  475. </section>
  476. </div>
  477. </li>
  478. <li class="item">
  479. <div>
  480. <code>
  481. <a name="/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv"></a>
  482. <a name="//apple_ref/swift/Property/startRequestsImmediately" class="dashAnchor"></a>
  483. <a class="token" href="#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a>
  484. </code>
  485. </div>
  486. <div class="height-container">
  487. <div class="pointer-container"></div>
  488. <section class="section">
  489. <div class="pointer"></div>
  490. <div class="abstract">
  491. <p>Whether to start requests immediately after being constructed. <code>true</code> by default.</p>
  492. </div>
  493. <div class="declaration">
  494. <h4>Declaration</h4>
  495. <div class="language">
  496. <p class="aside-title">Swift</p>
  497. <pre class="highlight"><code><span class="n">open</span> <span class="k">var</span> <span class="nv">startRequestsImmediately</span><span class="p">:</span> <span class="kt">Bool</span> <span class="o">=</span> <span class="kc">true</span></code></pre>
  498. </div>
  499. </div>
  500. </section>
  501. </div>
  502. </li>
  503. <li class="item">
  504. <div>
  505. <code>
  506. <a name="/s:9Alamofire14SessionManagerC7adapterAA14RequestAdapter_pSgv"></a>
  507. <a name="//apple_ref/swift/Property/adapter" class="dashAnchor"></a>
  508. <a class="token" href="#/s:9Alamofire14SessionManagerC7adapterAA14RequestAdapter_pSgv">adapter</a>
  509. </code>
  510. </div>
  511. <div class="height-container">
  512. <div class="pointer-container"></div>
  513. <section class="section">
  514. <div class="pointer"></div>
  515. <div class="abstract">
  516. <p>The request adapter called each time a new request is created.</p>
  517. </div>
  518. <div class="declaration">
  519. <h4>Declaration</h4>
  520. <div class="language">
  521. <p class="aside-title">Swift</p>
  522. <pre class="highlight"><code><span class="n">open</span> <span class="k">var</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></code></pre>
  523. </div>
  524. </div>
  525. </section>
  526. </div>
  527. </li>
  528. <li class="item">
  529. <div>
  530. <code>
  531. <a name="/s:9Alamofire14SessionManagerC7retrierAA14RequestRetrier_pSgv"></a>
  532. <a name="//apple_ref/swift/Property/retrier" class="dashAnchor"></a>
  533. <a class="token" href="#/s:9Alamofire14SessionManagerC7retrierAA14RequestRetrier_pSgv">retrier</a>
  534. </code>
  535. </div>
  536. <div class="height-container">
  537. <div class="pointer-container"></div>
  538. <section class="section">
  539. <div class="pointer"></div>
  540. <div class="abstract">
  541. <p>The request retrier called each time a request encounters an error to determine whether to retry the request.</p>
  542. </div>
  543. <div class="declaration">
  544. <h4>Declaration</h4>
  545. <div class="language">
  546. <p class="aside-title">Swift</p>
  547. <pre class="highlight"><code><span class="n">open</span> <span class="k">var</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></code></pre>
  548. </div>
  549. </div>
  550. </section>
  551. </div>
  552. </li>
  553. <li class="item">
  554. <div>
  555. <code>
  556. <a name="/s:9Alamofire14SessionManagerC27backgroundCompletionHandleryycSgv"></a>
  557. <a name="//apple_ref/swift/Property/backgroundCompletionHandler" class="dashAnchor"></a>
  558. <a class="token" href="#/s:9Alamofire14SessionManagerC27backgroundCompletionHandleryycSgv">backgroundCompletionHandler</a>
  559. </code>
  560. </div>
  561. <div class="height-container">
  562. <div class="pointer-container"></div>
  563. <section class="section">
  564. <div class="pointer"></div>
  565. <div class="abstract">
  566. <p>The background completion handler closure provided by the UIApplicationDelegate
  567. <code>application:handleEventsForBackgroundURLSession:completionHandler:</code> method. By setting the background
  568. completion handler, the SessionDelegate <code>sessionDidFinishEventsForBackgroundURLSession</code> closure implementation
  569. will automatically call the handler.</p>
  570. <p>If you need to handle your own events before the handler is called, then you need to override the
  571. SessionDelegate <code>sessionDidFinishEventsForBackgroundURLSession</code> and manually call the handler when finished.</p>
  572. <p><code>nil</code> by default.</p>
  573. </div>
  574. <div class="declaration">
  575. <h4>Declaration</h4>
  576. <div class="language">
  577. <p class="aside-title">Swift</p>
  578. <pre class="highlight"><code><span class="n">open</span> <span class="k">var</span> <span class="nv">backgroundCompletionHandler</span><span class="p">:</span> <span class="p">(()</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?</span></code></pre>
  579. </div>
  580. </div>
  581. </section>
  582. </div>
  583. </li>
  584. </ul>
  585. </div>
  586. <div class="task-group">
  587. <div class="task-name-container">
  588. <a name="/Lifecycle"></a>
  589. <a name="//apple_ref/swift/Section/Lifecycle" class="dashAnchor"></a>
  590. <a href="#/Lifecycle">
  591. <h3 class="section-name">Lifecycle</h3>
  592. </a>
  593. </div>
  594. <ul class="item-container">
  595. <li class="item">
  596. <div>
  597. <code>
  598. <a name="/s:9Alamofire14SessionManagerCACSo23URLSessionConfigurationC13configuration_AA0B8DelegateC8delegateAA017ServerTrustPolicyC0CSg06serverjkC0tcfc"></a>
  599. <a name="//apple_ref/swift/Method/init(configuration:delegate:serverTrustPolicyManager:)" class="dashAnchor"></a>
  600. <a class="token" href="#/s:9Alamofire14SessionManagerCACSo23URLSessionConfigurationC13configuration_AA0B8DelegateC8delegateAA017ServerTrustPolicyC0CSg06serverjkC0tcfc">init(configuration:delegate:serverTrustPolicyManager:)</a>
  601. </code>
  602. </div>
  603. <div class="height-container">
  604. <div class="pointer-container"></div>
  605. <section class="section">
  606. <div class="pointer"></div>
  607. <div class="abstract">
  608. <p>Creates an instance with the specified <code>configuration</code>, <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC8delegateAA0B8DelegateCv">delegate</a></code> and <code>serverTrustPolicyManager</code>.</p>
  609. </div>
  610. <div class="declaration">
  611. <h4>Declaration</h4>
  612. <div class="language">
  613. <p class="aside-title">Swift</p>
  614. <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">(</span>
  615. <span class="nv">configuration</span><span class="p">:</span> <span class="kt">URLSessionConfiguration</span> <span class="o">=</span> <span class="kt">URLSessionConfiguration</span><span class="o">.</span><span class="k">default</span><span class="p">,</span>
  616. <span class="nv">delegate</span><span class="p">:</span> <span class="kt"><a href="../Classes/SessionDelegate.html">SessionDelegate</a></span> <span class="o">=</span> <span class="kt"><a href="../Classes/SessionDelegate.html">SessionDelegate</a></span><span class="p">(),</span>
  617. <span class="nv">serverTrustPolicyManager</span><span class="p">:</span> <span class="kt"><a href="../Classes/ServerTrustPolicyManager.html">ServerTrustPolicyManager</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
  618. </div>
  619. </div>
  620. <div>
  621. <h4>Parameters</h4>
  622. <table class="graybox">
  623. <tbody>
  624. <tr>
  625. <td>
  626. <code>
  627. <em>configuration</em>
  628. </code>
  629. </td>
  630. <td>
  631. <div>
  632. <p>The configuration used to construct the managed session.
  633. <code>URLSessionConfiguration.default</code> by default.</p>
  634. </div>
  635. </td>
  636. </tr>
  637. <tr>
  638. <td>
  639. <code>
  640. <em>delegate</em>
  641. </code>
  642. </td>
  643. <td>
  644. <div>
  645. <p>The delegate used when initializing the session. <code>SessionDelegate()</code> by
  646. default.</p>
  647. </div>
  648. </td>
  649. </tr>
  650. <tr>
  651. <td>
  652. <code>
  653. <em>serverTrustPolicyManager</em>
  654. </code>
  655. </td>
  656. <td>
  657. <div>
  658. <p>The server trust policy manager to use for evaluating all server trust
  659. challenges. <code>nil</code> by default.</p>
  660. </div>
  661. </td>
  662. </tr>
  663. </tbody>
  664. </table>
  665. </div>
  666. <div>
  667. <h4>Return Value</h4>
  668. <p>The new <code>SessionManager</code> instance.</p>
  669. </div>
  670. </section>
  671. </div>
  672. </li>
  673. <li class="item">
  674. <div>
  675. <code>
  676. <a name="/s:9Alamofire14SessionManagerCACSgSo10URLSessionC7session_AA0B8DelegateC8delegateAA017ServerTrustPolicyC0CSg06serverijC0tcfc"></a>
  677. <a name="//apple_ref/swift/Method/init(session:delegate:serverTrustPolicyManager:)" class="dashAnchor"></a>
  678. <a class="token" href="#/s:9Alamofire14SessionManagerCACSgSo10URLSessionC7session_AA0B8DelegateC8delegateAA017ServerTrustPolicyC0CSg06serverijC0tcfc">init(session:delegate:serverTrustPolicyManager:)</a>
  679. </code>
  680. </div>
  681. <div class="height-container">
  682. <div class="pointer-container"></div>
  683. <section class="section">
  684. <div class="pointer"></div>
  685. <div class="abstract">
  686. <p>Creates an instance with the specified <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC7sessionSo10URLSessionCv">session</a></code>, <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC8delegateAA0B8DelegateCv">delegate</a></code> and <code>serverTrustPolicyManager</code>.</p>
  687. </div>
  688. <div class="declaration">
  689. <h4>Declaration</h4>
  690. <div class="language">
  691. <p class="aside-title">Swift</p>
  692. <pre class="highlight"><code><span class="kd">public</span> <span class="nf">init</span><span class="p">?(</span>
  693. <span class="nv">session</span><span class="p">:</span> <span class="kt">URLSession</span><span class="p">,</span>
  694. <span class="nv">delegate</span><span class="p">:</span> <span class="kt"><a href="../Classes/SessionDelegate.html">SessionDelegate</a></span><span class="p">,</span>
  695. <span class="nv">serverTrustPolicyManager</span><span class="p">:</span> <span class="kt"><a href="../Classes/ServerTrustPolicyManager.html">ServerTrustPolicyManager</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span></code></pre>
  696. </div>
  697. </div>
  698. <div>
  699. <h4>Parameters</h4>
  700. <table class="graybox">
  701. <tbody>
  702. <tr>
  703. <td>
  704. <code>
  705. <em>session</em>
  706. </code>
  707. </td>
  708. <td>
  709. <div>
  710. <p>The URL session.</p>
  711. </div>
  712. </td>
  713. </tr>
  714. <tr>
  715. <td>
  716. <code>
  717. <em>delegate</em>
  718. </code>
  719. </td>
  720. <td>
  721. <div>
  722. <p>The delegate of the URL session. Must equal the URL session&rsquo;s delegate.</p>
  723. </div>
  724. </td>
  725. </tr>
  726. <tr>
  727. <td>
  728. <code>
  729. <em>serverTrustPolicyManager</em>
  730. </code>
  731. </td>
  732. <td>
  733. <div>
  734. <p>The server trust policy manager to use for evaluating all server trust
  735. challenges. <code>nil</code> by default.</p>
  736. </div>
  737. </td>
  738. </tr>
  739. </tbody>
  740. </table>
  741. </div>
  742. <div>
  743. <h4>Return Value</h4>
  744. <p>The new <code>SessionManager</code> instance if the URL session&rsquo;s delegate matches; <code>nil</code> otherwise.</p>
  745. </div>
  746. </section>
  747. </div>
  748. </li>
  749. </ul>
  750. </div>
  751. <div class="task-group">
  752. <div class="task-name-container">
  753. <a name="/Data%20Request"></a>
  754. <a name="//apple_ref/swift/Section/Data Request" class="dashAnchor"></a>
  755. <a href="#/Data%20Request">
  756. <h3 class="section-name">Data Request</h3>
  757. </a>
  758. </div>
  759. <ul class="item-container">
  760. <li class="item">
  761. <div>
  762. <code>
  763. <a name="/s:9Alamofire14SessionManagerC7requestAA11DataRequestCAA14URLConvertible_p_AA10HTTPMethodO6methods10DictionaryVySSypGSg10parametersAA17ParameterEncoding_p8encodingALyS2SGSg7headerstF"></a>
  764. <a name="//apple_ref/swift/Method/request(_:method:parameters:encoding:headers:)" class="dashAnchor"></a>
  765. <a class="token" href="#/s:9Alamofire14SessionManagerC7requestAA11DataRequestCAA14URLConvertible_p_AA10HTTPMethodO6methods10DictionaryVySSypGSg10parametersAA17ParameterEncoding_p8encodingALyS2SGSg7headerstF">request(_:method:parameters:encoding:headers:)</a>
  766. </code>
  767. </div>
  768. <div class="height-container">
  769. <div class="pointer-container"></div>
  770. <section class="section">
  771. <div class="pointer"></div>
  772. <div class="abstract">
  773. <p>Creates a <code><a href="../Classes/DataRequest.html">DataRequest</a></code> to retrieve the contents of the specified <code>url</code>, <code>method</code>, <code>parameters</code>, <code>encoding</code>
  774. and <code>headers</code>.</p>
  775. </div>
  776. <div class="declaration">
  777. <h4>Declaration</h4>
  778. <div class="language">
  779. <p class="aside-title">Swift</p>
  780. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">request</span><span class="p">(</span>
  781. <span class="n">_</span> <span class="nv">url</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLConvertible.html">URLConvertible</a></span><span class="p">,</span>
  782. <span class="nv">method</span><span class="p">:</span> <span class="kt"><a href="../Enums/HTTPMethod.html">HTTPMethod</a></span> <span class="o">=</span> <span class="o">.</span><span class="k">get</span><span class="p">,</span>
  783. <span class="nv">parameters</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire10Parametersa">Parameters</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
  784. <span class="nv">encoding</span><span class="p">:</span> <span class="kt"><a href="../Protocols/ParameterEncoding.html">ParameterEncoding</a></span> <span class="o">=</span> <span class="kt"><a href="../Structs/URLEncoding.html">URLEncoding</a></span><span class="o">.</span><span class="k">default</span><span class="p">,</span>
  785. <span class="nv">headers</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire11HTTPHeadersa">HTTPHeaders</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span>
  786. <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/DataRequest.html">DataRequest</a></span></code></pre>
  787. </div>
  788. </div>
  789. <div>
  790. <h4>Parameters</h4>
  791. <table class="graybox">
  792. <tbody>
  793. <tr>
  794. <td>
  795. <code>
  796. <em>url</em>
  797. </code>
  798. </td>
  799. <td>
  800. <div>
  801. <p>The URL.</p>
  802. </div>
  803. </td>
  804. </tr>
  805. <tr>
  806. <td>
  807. <code>
  808. <em>method</em>
  809. </code>
  810. </td>
  811. <td>
  812. <div>
  813. <p>The HTTP method. <code>.get</code> by default.</p>
  814. </div>
  815. </td>
  816. </tr>
  817. <tr>
  818. <td>
  819. <code>
  820. <em>parameters</em>
  821. </code>
  822. </td>
  823. <td>
  824. <div>
  825. <p>The parameters. <code>nil</code> by default.</p>
  826. </div>
  827. </td>
  828. </tr>
  829. <tr>
  830. <td>
  831. <code>
  832. <em>encoding</em>
  833. </code>
  834. </td>
  835. <td>
  836. <div>
  837. <p>The parameter encoding. <code>URLEncoding.default</code> by default.</p>
  838. </div>
  839. </td>
  840. </tr>
  841. <tr>
  842. <td>
  843. <code>
  844. <em>headers</em>
  845. </code>
  846. </td>
  847. <td>
  848. <div>
  849. <p>The HTTP headers. <code>nil</code> by default.</p>
  850. </div>
  851. </td>
  852. </tr>
  853. </tbody>
  854. </table>
  855. </div>
  856. <div>
  857. <h4>Return Value</h4>
  858. <p>The created <code><a href="../Classes/DataRequest.html">DataRequest</a></code>.</p>
  859. </div>
  860. </section>
  861. </div>
  862. </li>
  863. <li class="item">
  864. <div>
  865. <code>
  866. <a name="/s:9Alamofire14SessionManagerC7requestAA11DataRequestCAA21URLRequestConvertible_pF"></a>
  867. <a name="//apple_ref/swift/Method/request(_:)" class="dashAnchor"></a>
  868. <a class="token" href="#/s:9Alamofire14SessionManagerC7requestAA11DataRequestCAA21URLRequestConvertible_pF">request(_:)</a>
  869. </code>
  870. </div>
  871. <div class="height-container">
  872. <div class="pointer-container"></div>
  873. <section class="section">
  874. <div class="pointer"></div>
  875. <div class="abstract">
  876. <p>Creates a <code><a href="../Classes/DataRequest.html">DataRequest</a></code> to retrieve the contents of a URL based on the specified <code>urlRequest</code>.</p>
  877. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  878. </div>
  879. <div class="declaration">
  880. <h4>Declaration</h4>
  881. <div class="language">
  882. <p class="aside-title">Swift</p>
  883. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">request</span><span class="p">(</span><span class="n">_</span> <span class="nv">urlRequest</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLRequestConvertible.html">URLRequestConvertible</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/DataRequest.html">DataRequest</a></span></code></pre>
  884. </div>
  885. </div>
  886. <div>
  887. <h4>Parameters</h4>
  888. <table class="graybox">
  889. <tbody>
  890. <tr>
  891. <td>
  892. <code>
  893. <em>urlRequest</em>
  894. </code>
  895. </td>
  896. <td>
  897. <div>
  898. <p>The URL request.</p>
  899. </div>
  900. </td>
  901. </tr>
  902. </tbody>
  903. </table>
  904. </div>
  905. <div>
  906. <h4>Return Value</h4>
  907. <p>The created <code><a href="../Classes/DataRequest.html">DataRequest</a></code>.</p>
  908. </div>
  909. </section>
  910. </div>
  911. </li>
  912. </ul>
  913. </div>
  914. <div class="task-group">
  915. <div class="task-name-container">
  916. <a name="/URL%20Request"></a>
  917. <a name="//apple_ref/swift/Section/URL Request" class="dashAnchor"></a>
  918. <a href="#/URL%20Request">
  919. <h3 class="section-name">URL Request</h3>
  920. </a>
  921. </div>
  922. <ul class="item-container">
  923. <li class="item">
  924. <div>
  925. <code>
  926. <a name="/s:9Alamofire14SessionManagerC8downloadAA15DownloadRequestCAA14URLConvertible_p_AA10HTTPMethodO6methods10DictionaryVySSypGSg10parametersAA17ParameterEncoding_p8encodingALyS2SGSg7headers10Foundation3URLV011destinationQ0_AF0E7OptionsV7optionstAW_So15HTTPURLResponseCtcSg2totF"></a>
  927. <a name="//apple_ref/swift/Method/download(_:method:parameters:encoding:headers:to:)" class="dashAnchor"></a>
  928. <a class="token" href="#/s:9Alamofire14SessionManagerC8downloadAA15DownloadRequestCAA14URLConvertible_p_AA10HTTPMethodO6methods10DictionaryVySSypGSg10parametersAA17ParameterEncoding_p8encodingALyS2SGSg7headers10Foundation3URLV011destinationQ0_AF0E7OptionsV7optionstAW_So15HTTPURLResponseCtcSg2totF">download(_:method:parameters:encoding:headers:to:)</a>
  929. </code>
  930. </div>
  931. <div class="height-container">
  932. <div class="pointer-container"></div>
  933. <section class="section">
  934. <div class="pointer"></div>
  935. <div class="abstract">
  936. <p>Creates a <code><a href="../Classes/DownloadRequest.html">DownloadRequest</a></code> to retrieve the contents the specified <code>url</code>, <code>method</code>, <code>parameters</code>, <code>encoding</code>,
  937. <code>headers</code> and save them to the <code>destination</code>.</p>
  938. <p>If <code>destination</code> is not specified, the contents will remain in the temporary location determined by the
  939. underlying URL session.</p>
  940. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  941. </div>
  942. <div class="declaration">
  943. <h4>Declaration</h4>
  944. <div class="language">
  945. <p class="aside-title">Swift</p>
  946. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">download</span><span class="p">(</span>
  947. <span class="n">_</span> <span class="nv">url</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLConvertible.html">URLConvertible</a></span><span class="p">,</span>
  948. <span class="nv">method</span><span class="p">:</span> <span class="kt"><a href="../Enums/HTTPMethod.html">HTTPMethod</a></span> <span class="o">=</span> <span class="o">.</span><span class="k">get</span><span class="p">,</span>
  949. <span class="nv">parameters</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire10Parametersa">Parameters</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
  950. <span class="nv">encoding</span><span class="p">:</span> <span class="kt"><a href="../Protocols/ParameterEncoding.html">ParameterEncoding</a></span> <span class="o">=</span> <span class="kt"><a href="../Structs/URLEncoding.html">URLEncoding</a></span><span class="o">.</span><span class="k">default</span><span class="p">,</span>
  951. <span class="nv">headers</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire11HTTPHeadersa">HTTPHeaders</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
  952. <span class="n">to</span> <span class="nv">destination</span><span class="p">:</span> <span class="kt"><a href="../Classes/DownloadRequest.html">DownloadRequest</a></span><span class="o">.</span><span class="kt">DownloadFileDestination</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span>
  953. <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/DownloadRequest.html">DownloadRequest</a></span></code></pre>
  954. </div>
  955. </div>
  956. <div>
  957. <h4>Parameters</h4>
  958. <table class="graybox">
  959. <tbody>
  960. <tr>
  961. <td>
  962. <code>
  963. <em>url</em>
  964. </code>
  965. </td>
  966. <td>
  967. <div>
  968. <p>The URL.</p>
  969. </div>
  970. </td>
  971. </tr>
  972. <tr>
  973. <td>
  974. <code>
  975. <em>method</em>
  976. </code>
  977. </td>
  978. <td>
  979. <div>
  980. <p>The HTTP method. <code>.get</code> by default.</p>
  981. </div>
  982. </td>
  983. </tr>
  984. <tr>
  985. <td>
  986. <code>
  987. <em>parameters</em>
  988. </code>
  989. </td>
  990. <td>
  991. <div>
  992. <p>The parameters. <code>nil</code> by default.</p>
  993. </div>
  994. </td>
  995. </tr>
  996. <tr>
  997. <td>
  998. <code>
  999. <em>encoding</em>
  1000. </code>
  1001. </td>
  1002. <td>
  1003. <div>
  1004. <p>The parameter encoding. <code>URLEncoding.default</code> by default.</p>
  1005. </div>
  1006. </td>
  1007. </tr>
  1008. <tr>
  1009. <td>
  1010. <code>
  1011. <em>headers</em>
  1012. </code>
  1013. </td>
  1014. <td>
  1015. <div>
  1016. <p>The HTTP headers. <code>nil</code> by default.</p>
  1017. </div>
  1018. </td>
  1019. </tr>
  1020. <tr>
  1021. <td>
  1022. <code>
  1023. <em>destination</em>
  1024. </code>
  1025. </td>
  1026. <td>
  1027. <div>
  1028. <p>The closure used to determine the destination of the downloaded file. <code>nil</code> by default.</p>
  1029. </div>
  1030. </td>
  1031. </tr>
  1032. </tbody>
  1033. </table>
  1034. </div>
  1035. <div>
  1036. <h4>Return Value</h4>
  1037. <p>The created <code><a href="../Classes/DownloadRequest.html">DownloadRequest</a></code>.</p>
  1038. </div>
  1039. </section>
  1040. </div>
  1041. </li>
  1042. <li class="item">
  1043. <div>
  1044. <code>
  1045. <a name="/s:9Alamofire14SessionManagerC8downloadAA15DownloadRequestCAA21URLRequestConvertible_p_10Foundation3URLV011destinationJ0_AF0E7OptionsV7optionstAJ_So15HTTPURLResponseCtcSg2totF"></a>
  1046. <a name="//apple_ref/swift/Method/download(_:to:)" class="dashAnchor"></a>
  1047. <a class="token" href="#/s:9Alamofire14SessionManagerC8downloadAA15DownloadRequestCAA21URLRequestConvertible_p_10Foundation3URLV011destinationJ0_AF0E7OptionsV7optionstAJ_So15HTTPURLResponseCtcSg2totF">download(_:to:)</a>
  1048. </code>
  1049. </div>
  1050. <div class="height-container">
  1051. <div class="pointer-container"></div>
  1052. <section class="section">
  1053. <div class="pointer"></div>
  1054. <div class="abstract">
  1055. <p>Creates a <code><a href="../Classes/DownloadRequest.html">DownloadRequest</a></code> to retrieve the contents of a URL based on the specified <code>urlRequest</code> and save
  1056. them to the <code>destination</code>.</p>
  1057. <p>If <code>destination</code> is not specified, the contents will remain in the temporary location determined by the
  1058. underlying URL session.</p>
  1059. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1060. </div>
  1061. <div class="declaration">
  1062. <h4>Declaration</h4>
  1063. <div class="language">
  1064. <p class="aside-title">Swift</p>
  1065. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">download</span><span class="p">(</span>
  1066. <span class="n">_</span> <span class="nv">urlRequest</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLRequestConvertible.html">URLRequestConvertible</a></span><span class="p">,</span>
  1067. <span class="n">to</span> <span class="nv">destination</span><span class="p">:</span> <span class="kt"><a href="../Classes/DownloadRequest.html">DownloadRequest</a></span><span class="o">.</span><span class="kt">DownloadFileDestination</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span>
  1068. <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/DownloadRequest.html">DownloadRequest</a></span></code></pre>
  1069. </div>
  1070. </div>
  1071. <div>
  1072. <h4>Parameters</h4>
  1073. <table class="graybox">
  1074. <tbody>
  1075. <tr>
  1076. <td>
  1077. <code>
  1078. <em>urlRequest</em>
  1079. </code>
  1080. </td>
  1081. <td>
  1082. <div>
  1083. <p>The URL request</p>
  1084. </div>
  1085. </td>
  1086. </tr>
  1087. <tr>
  1088. <td>
  1089. <code>
  1090. <em>destination</em>
  1091. </code>
  1092. </td>
  1093. <td>
  1094. <div>
  1095. <p>The closure used to determine the destination of the downloaded file. <code>nil</code> by default.</p>
  1096. </div>
  1097. </td>
  1098. </tr>
  1099. </tbody>
  1100. </table>
  1101. </div>
  1102. <div>
  1103. <h4>Return Value</h4>
  1104. <p>The created <code><a href="../Classes/DownloadRequest.html">DownloadRequest</a></code>.</p>
  1105. </div>
  1106. </section>
  1107. </div>
  1108. </li>
  1109. </ul>
  1110. </div>
  1111. <div class="task-group">
  1112. <div class="task-name-container">
  1113. <a name="/Resume%20Data"></a>
  1114. <a name="//apple_ref/swift/Section/Resume Data" class="dashAnchor"></a>
  1115. <a href="#/Resume%20Data">
  1116. <h3 class="section-name">Resume Data</h3>
  1117. </a>
  1118. </div>
  1119. <ul class="item-container">
  1120. <li class="item">
  1121. <div>
  1122. <code>
  1123. <a name="/s:9Alamofire14SessionManagerC8downloadAA15DownloadRequestC10Foundation4DataV12resumingWith_AG3URLV011destinationK0_AF0E7OptionsV7optionstAL_So15HTTPURLResponseCtcSg2totF"></a>
  1124. <a name="//apple_ref/swift/Method/download(resumingWith:to:)" class="dashAnchor"></a>
  1125. <a class="token" href="#/s:9Alamofire14SessionManagerC8downloadAA15DownloadRequestC10Foundation4DataV12resumingWith_AG3URLV011destinationK0_AF0E7OptionsV7optionstAL_So15HTTPURLResponseCtcSg2totF">download(resumingWith:to:)</a>
  1126. </code>
  1127. </div>
  1128. <div class="height-container">
  1129. <div class="pointer-container"></div>
  1130. <section class="section">
  1131. <div class="pointer"></div>
  1132. <div class="abstract">
  1133. <p>Creates a <code><a href="../Classes/DownloadRequest.html">DownloadRequest</a></code> from the <code>resumeData</code> produced from a previous request cancellation to retrieve
  1134. the contents of the original request and save them to the <code>destination</code>.</p>
  1135. <p>If <code>destination</code> is not specified, the contents will remain in the temporary location determined by the
  1136. underlying URL session.</p>
  1137. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1138. <p>On the latest release of all the Apple platforms (iOS 10, macOS 10.12, tvOS 10, watchOS 3), <code>resumeData</code> is broken
  1139. on background URL session configurations. There&rsquo;s an underlying bug in the <code>resumeData</code> generation logic where the
  1140. data is written incorrectly and will always fail to resume the download. For more information about the bug and
  1141. possible workarounds, please refer to the following Stack Overflow post:</p>
  1142. <ul>
  1143. <li><p><a href="http://stackoverflow.com/a/39347461/1342462">http://stackoverflow.com/a/39347461/1342462</a></p></li>
  1144. </ul>
  1145. </div>
  1146. <div class="declaration">
  1147. <h4>Declaration</h4>
  1148. <div class="language">
  1149. <p class="aside-title">Swift</p>
  1150. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">download</span><span class="p">(</span>
  1151. <span class="n">resumingWith</span> <span class="nv">resumeData</span><span class="p">:</span> <span class="kt">Data</span><span class="p">,</span>
  1152. <span class="n">to</span> <span class="nv">destination</span><span class="p">:</span> <span class="kt"><a href="../Classes/DownloadRequest.html">DownloadRequest</a></span><span class="o">.</span><span class="kt">DownloadFileDestination</span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span>
  1153. <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/DownloadRequest.html">DownloadRequest</a></span></code></pre>
  1154. </div>
  1155. </div>
  1156. <div>
  1157. <h4>Parameters</h4>
  1158. <table class="graybox">
  1159. <tbody>
  1160. <tr>
  1161. <td>
  1162. <code>
  1163. <em>resumeData</em>
  1164. </code>
  1165. </td>
  1166. <td>
  1167. <div>
  1168. <p>The resume data. This is an opaque data blob produced by <code>URLSessionDownloadTask</code>
  1169. when a task is cancelled. See <code>URLSession -downloadTask(withResumeData:)</code> for
  1170. additional information.</p>
  1171. </div>
  1172. </td>
  1173. </tr>
  1174. <tr>
  1175. <td>
  1176. <code>
  1177. <em>destination</em>
  1178. </code>
  1179. </td>
  1180. <td>
  1181. <div>
  1182. <p>The closure used to determine the destination of the downloaded file. <code>nil</code> by default.</p>
  1183. </div>
  1184. </td>
  1185. </tr>
  1186. </tbody>
  1187. </table>
  1188. </div>
  1189. <div>
  1190. <h4>Return Value</h4>
  1191. <p>The created <code><a href="../Classes/DownloadRequest.html">DownloadRequest</a></code>.</p>
  1192. </div>
  1193. </section>
  1194. </div>
  1195. </li>
  1196. </ul>
  1197. </div>
  1198. <div class="task-group">
  1199. <div class="task-name-container">
  1200. <a name="/File"></a>
  1201. <a name="//apple_ref/swift/Section/File" class="dashAnchor"></a>
  1202. <a href="#/File">
  1203. <h3 class="section-name">File</h3>
  1204. </a>
  1205. </div>
  1206. <ul class="item-container">
  1207. <li class="item">
  1208. <div>
  1209. <code>
  1210. <a name="/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestC10Foundation3URLV_AA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headerstF"></a>
  1211. <a name="//apple_ref/swift/Method/upload(_:to:method:headers:)" class="dashAnchor"></a>
  1212. <a class="token" href="#/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestC10Foundation3URLV_AA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headerstF">upload(_:to:method:headers:)</a>
  1213. </code>
  1214. </div>
  1215. <div class="height-container">
  1216. <div class="pointer-container"></div>
  1217. <section class="section">
  1218. <div class="pointer"></div>
  1219. <div class="abstract">
  1220. <p>Creates an <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code> from the specified <code>url</code>, <code>method</code> and <code>headers</code> for uploading the <code>file</code>.</p>
  1221. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1222. </div>
  1223. <div class="declaration">
  1224. <h4>Declaration</h4>
  1225. <div class="language">
  1226. <p class="aside-title">Swift</p>
  1227. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span>
  1228. <span class="n">_</span> <span class="nv">fileURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">,</span>
  1229. <span class="n">to</span> <span class="nv">url</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLConvertible.html">URLConvertible</a></span><span class="p">,</span>
  1230. <span class="nv">method</span><span class="p">:</span> <span class="kt"><a href="../Enums/HTTPMethod.html">HTTPMethod</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">post</span><span class="p">,</span>
  1231. <span class="nv">headers</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire11HTTPHeadersa">HTTPHeaders</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span>
  1232. <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/UploadRequest.html">UploadRequest</a></span></code></pre>
  1233. </div>
  1234. </div>
  1235. <div>
  1236. <h4>Parameters</h4>
  1237. <table class="graybox">
  1238. <tbody>
  1239. <tr>
  1240. <td>
  1241. <code>
  1242. <em>file</em>
  1243. </code>
  1244. </td>
  1245. <td>
  1246. <div>
  1247. <p>The file to upload.</p>
  1248. </div>
  1249. </td>
  1250. </tr>
  1251. <tr>
  1252. <td>
  1253. <code>
  1254. <em>url</em>
  1255. </code>
  1256. </td>
  1257. <td>
  1258. <div>
  1259. <p>The URL.</p>
  1260. </div>
  1261. </td>
  1262. </tr>
  1263. <tr>
  1264. <td>
  1265. <code>
  1266. <em>method</em>
  1267. </code>
  1268. </td>
  1269. <td>
  1270. <div>
  1271. <p>The HTTP method. <code>.post</code> by default.</p>
  1272. </div>
  1273. </td>
  1274. </tr>
  1275. <tr>
  1276. <td>
  1277. <code>
  1278. <em>headers</em>
  1279. </code>
  1280. </td>
  1281. <td>
  1282. <div>
  1283. <p>The HTTP headers. <code>nil</code> by default.</p>
  1284. </div>
  1285. </td>
  1286. </tr>
  1287. </tbody>
  1288. </table>
  1289. </div>
  1290. <div>
  1291. <h4>Return Value</h4>
  1292. <p>The created <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code>.</p>
  1293. </div>
  1294. </section>
  1295. </div>
  1296. </li>
  1297. <li class="item">
  1298. <div>
  1299. <code>
  1300. <a name="/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestC10Foundation3URLV_AA21URLRequestConvertible_p4withtF"></a>
  1301. <a name="//apple_ref/swift/Method/upload(_:with:)" class="dashAnchor"></a>
  1302. <a class="token" href="#/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestC10Foundation3URLV_AA21URLRequestConvertible_p4withtF">upload(_:with:)</a>
  1303. </code>
  1304. </div>
  1305. <div class="height-container">
  1306. <div class="pointer-container"></div>
  1307. <section class="section">
  1308. <div class="pointer"></div>
  1309. <div class="abstract">
  1310. <p>Creates a <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code> from the specified <code>urlRequest</code> for uploading the <code>file</code>.</p>
  1311. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1312. </div>
  1313. <div class="declaration">
  1314. <h4>Declaration</h4>
  1315. <div class="language">
  1316. <p class="aside-title">Swift</p>
  1317. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="n">_</span> <span class="nv">fileURL</span><span class="p">:</span> <span class="kt">URL</span><span class="p">,</span> <span class="n">with</span> <span class="nv">urlRequest</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLRequestConvertible.html">URLRequestConvertible</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/UploadRequest.html">UploadRequest</a></span></code></pre>
  1318. </div>
  1319. </div>
  1320. <div>
  1321. <h4>Parameters</h4>
  1322. <table class="graybox">
  1323. <tbody>
  1324. <tr>
  1325. <td>
  1326. <code>
  1327. <em>file</em>
  1328. </code>
  1329. </td>
  1330. <td>
  1331. <div>
  1332. <p>The file to upload.</p>
  1333. </div>
  1334. </td>
  1335. </tr>
  1336. <tr>
  1337. <td>
  1338. <code>
  1339. <em>urlRequest</em>
  1340. </code>
  1341. </td>
  1342. <td>
  1343. <div>
  1344. <p>The URL request.</p>
  1345. </div>
  1346. </td>
  1347. </tr>
  1348. </tbody>
  1349. </table>
  1350. </div>
  1351. <div>
  1352. <h4>Return Value</h4>
  1353. <p>The created <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code>.</p>
  1354. </div>
  1355. </section>
  1356. </div>
  1357. </li>
  1358. </ul>
  1359. </div>
  1360. <div class="task-group">
  1361. <div class="task-name-container">
  1362. <a name="/Data"></a>
  1363. <a name="//apple_ref/swift/Section/Data" class="dashAnchor"></a>
  1364. <a href="#/Data">
  1365. <h3 class="section-name">Data</h3>
  1366. </a>
  1367. </div>
  1368. <ul class="item-container">
  1369. <li class="item">
  1370. <div>
  1371. <code>
  1372. <a name="/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestC10Foundation4DataV_AA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headerstF"></a>
  1373. <a name="//apple_ref/swift/Method/upload(_:to:method:headers:)" class="dashAnchor"></a>
  1374. <a class="token" href="#/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestC10Foundation4DataV_AA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headerstF">upload(_:to:method:headers:)</a>
  1375. </code>
  1376. </div>
  1377. <div class="height-container">
  1378. <div class="pointer-container"></div>
  1379. <section class="section">
  1380. <div class="pointer"></div>
  1381. <div class="abstract">
  1382. <p>Creates an <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code> from the specified <code>url</code>, <code>method</code> and <code>headers</code> for uploading the <code>data</code>.</p>
  1383. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1384. </div>
  1385. <div class="declaration">
  1386. <h4>Declaration</h4>
  1387. <div class="language">
  1388. <p class="aside-title">Swift</p>
  1389. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span>
  1390. <span class="n">_</span> <span class="nv">data</span><span class="p">:</span> <span class="kt">Data</span><span class="p">,</span>
  1391. <span class="n">to</span> <span class="nv">url</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLConvertible.html">URLConvertible</a></span><span class="p">,</span>
  1392. <span class="nv">method</span><span class="p">:</span> <span class="kt"><a href="../Enums/HTTPMethod.html">HTTPMethod</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">post</span><span class="p">,</span>
  1393. <span class="nv">headers</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire11HTTPHeadersa">HTTPHeaders</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span>
  1394. <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/UploadRequest.html">UploadRequest</a></span></code></pre>
  1395. </div>
  1396. </div>
  1397. <div>
  1398. <h4>Parameters</h4>
  1399. <table class="graybox">
  1400. <tbody>
  1401. <tr>
  1402. <td>
  1403. <code>
  1404. <em>data</em>
  1405. </code>
  1406. </td>
  1407. <td>
  1408. <div>
  1409. <p>The data to upload.</p>
  1410. </div>
  1411. </td>
  1412. </tr>
  1413. <tr>
  1414. <td>
  1415. <code>
  1416. <em>url</em>
  1417. </code>
  1418. </td>
  1419. <td>
  1420. <div>
  1421. <p>The URL.</p>
  1422. </div>
  1423. </td>
  1424. </tr>
  1425. <tr>
  1426. <td>
  1427. <code>
  1428. <em>method</em>
  1429. </code>
  1430. </td>
  1431. <td>
  1432. <div>
  1433. <p>The HTTP method. <code>.post</code> by default.</p>
  1434. </div>
  1435. </td>
  1436. </tr>
  1437. <tr>
  1438. <td>
  1439. <code>
  1440. <em>headers</em>
  1441. </code>
  1442. </td>
  1443. <td>
  1444. <div>
  1445. <p>The HTTP headers. <code>nil</code> by default.</p>
  1446. </div>
  1447. </td>
  1448. </tr>
  1449. </tbody>
  1450. </table>
  1451. </div>
  1452. <div>
  1453. <h4>Return Value</h4>
  1454. <p>The created <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code>.</p>
  1455. </div>
  1456. </section>
  1457. </div>
  1458. </li>
  1459. <li class="item">
  1460. <div>
  1461. <code>
  1462. <a name="/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestC10Foundation4DataV_AA21URLRequestConvertible_p4withtF"></a>
  1463. <a name="//apple_ref/swift/Method/upload(_:with:)" class="dashAnchor"></a>
  1464. <a class="token" href="#/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestC10Foundation4DataV_AA21URLRequestConvertible_p4withtF">upload(_:with:)</a>
  1465. </code>
  1466. </div>
  1467. <div class="height-container">
  1468. <div class="pointer-container"></div>
  1469. <section class="section">
  1470. <div class="pointer"></div>
  1471. <div class="abstract">
  1472. <p>Creates an <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code> from the specified <code>urlRequest</code> for uploading the <code>data</code>.</p>
  1473. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1474. </div>
  1475. <div class="declaration">
  1476. <h4>Declaration</h4>
  1477. <div class="language">
  1478. <p class="aside-title">Swift</p>
  1479. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="n">_</span> <span class="nv">data</span><span class="p">:</span> <span class="kt">Data</span><span class="p">,</span> <span class="n">with</span> <span class="nv">urlRequest</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLRequestConvertible.html">URLRequestConvertible</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/UploadRequest.html">UploadRequest</a></span></code></pre>
  1480. </div>
  1481. </div>
  1482. <div>
  1483. <h4>Parameters</h4>
  1484. <table class="graybox">
  1485. <tbody>
  1486. <tr>
  1487. <td>
  1488. <code>
  1489. <em>data</em>
  1490. </code>
  1491. </td>
  1492. <td>
  1493. <div>
  1494. <p>The data to upload.</p>
  1495. </div>
  1496. </td>
  1497. </tr>
  1498. <tr>
  1499. <td>
  1500. <code>
  1501. <em>urlRequest</em>
  1502. </code>
  1503. </td>
  1504. <td>
  1505. <div>
  1506. <p>The URL request.</p>
  1507. </div>
  1508. </td>
  1509. </tr>
  1510. </tbody>
  1511. </table>
  1512. </div>
  1513. <div>
  1514. <h4>Return Value</h4>
  1515. <p>The created <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code>.</p>
  1516. </div>
  1517. </section>
  1518. </div>
  1519. </li>
  1520. </ul>
  1521. </div>
  1522. <div class="task-group">
  1523. <div class="task-name-container">
  1524. <a name="/InputStream"></a>
  1525. <a name="//apple_ref/swift/Section/InputStream" class="dashAnchor"></a>
  1526. <a href="#/InputStream">
  1527. <h3 class="section-name">InputStream</h3>
  1528. </a>
  1529. </div>
  1530. <ul class="item-container">
  1531. <li class="item">
  1532. <div>
  1533. <code>
  1534. <a name="/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestCSo11InputStreamC_AA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headerstF"></a>
  1535. <a name="//apple_ref/swift/Method/upload(_:to:method:headers:)" class="dashAnchor"></a>
  1536. <a class="token" href="#/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestCSo11InputStreamC_AA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headerstF">upload(_:to:method:headers:)</a>
  1537. </code>
  1538. </div>
  1539. <div class="height-container">
  1540. <div class="pointer-container"></div>
  1541. <section class="section">
  1542. <div class="pointer"></div>
  1543. <div class="abstract">
  1544. <p>Creates an <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code> from the specified <code>url</code>, <code>method</code> and <code>headers</code> for uploading the <code>stream</code>.</p>
  1545. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1546. </div>
  1547. <div class="declaration">
  1548. <h4>Declaration</h4>
  1549. <div class="language">
  1550. <p class="aside-title">Swift</p>
  1551. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span>
  1552. <span class="n">_</span> <span class="nv">stream</span><span class="p">:</span> <span class="kt">InputStream</span><span class="p">,</span>
  1553. <span class="n">to</span> <span class="nv">url</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLConvertible.html">URLConvertible</a></span><span class="p">,</span>
  1554. <span class="nv">method</span><span class="p">:</span> <span class="kt"><a href="../Enums/HTTPMethod.html">HTTPMethod</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">post</span><span class="p">,</span>
  1555. <span class="nv">headers</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire11HTTPHeadersa">HTTPHeaders</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">)</span>
  1556. <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/UploadRequest.html">UploadRequest</a></span></code></pre>
  1557. </div>
  1558. </div>
  1559. <div>
  1560. <h4>Parameters</h4>
  1561. <table class="graybox">
  1562. <tbody>
  1563. <tr>
  1564. <td>
  1565. <code>
  1566. <em>stream</em>
  1567. </code>
  1568. </td>
  1569. <td>
  1570. <div>
  1571. <p>The stream to upload.</p>
  1572. </div>
  1573. </td>
  1574. </tr>
  1575. <tr>
  1576. <td>
  1577. <code>
  1578. <em>url</em>
  1579. </code>
  1580. </td>
  1581. <td>
  1582. <div>
  1583. <p>The URL.</p>
  1584. </div>
  1585. </td>
  1586. </tr>
  1587. <tr>
  1588. <td>
  1589. <code>
  1590. <em>method</em>
  1591. </code>
  1592. </td>
  1593. <td>
  1594. <div>
  1595. <p>The HTTP method. <code>.post</code> by default.</p>
  1596. </div>
  1597. </td>
  1598. </tr>
  1599. <tr>
  1600. <td>
  1601. <code>
  1602. <em>headers</em>
  1603. </code>
  1604. </td>
  1605. <td>
  1606. <div>
  1607. <p>The HTTP headers. <code>nil</code> by default.</p>
  1608. </div>
  1609. </td>
  1610. </tr>
  1611. </tbody>
  1612. </table>
  1613. </div>
  1614. <div>
  1615. <h4>Return Value</h4>
  1616. <p>The created <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code>.</p>
  1617. </div>
  1618. </section>
  1619. </div>
  1620. </li>
  1621. <li class="item">
  1622. <div>
  1623. <code>
  1624. <a name="/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestCSo11InputStreamC_AA21URLRequestConvertible_p4withtF"></a>
  1625. <a name="//apple_ref/swift/Method/upload(_:with:)" class="dashAnchor"></a>
  1626. <a class="token" href="#/s:9Alamofire14SessionManagerC6uploadAA13UploadRequestCSo11InputStreamC_AA21URLRequestConvertible_p4withtF">upload(_:with:)</a>
  1627. </code>
  1628. </div>
  1629. <div class="height-container">
  1630. <div class="pointer-container"></div>
  1631. <section class="section">
  1632. <div class="pointer"></div>
  1633. <div class="abstract">
  1634. <p>Creates an <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code> from the specified <code>urlRequest</code> for uploading the <code>stream</code>.</p>
  1635. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1636. </div>
  1637. <div class="declaration">
  1638. <h4>Declaration</h4>
  1639. <div class="language">
  1640. <p class="aside-title">Swift</p>
  1641. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span><span class="n">_</span> <span class="nv">stream</span><span class="p">:</span> <span class="kt">InputStream</span><span class="p">,</span> <span class="n">with</span> <span class="nv">urlRequest</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLRequestConvertible.html">URLRequestConvertible</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes/UploadRequest.html">UploadRequest</a></span></code></pre>
  1642. </div>
  1643. </div>
  1644. <div>
  1645. <h4>Parameters</h4>
  1646. <table class="graybox">
  1647. <tbody>
  1648. <tr>
  1649. <td>
  1650. <code>
  1651. <em>stream</em>
  1652. </code>
  1653. </td>
  1654. <td>
  1655. <div>
  1656. <p>The stream to upload.</p>
  1657. </div>
  1658. </td>
  1659. </tr>
  1660. <tr>
  1661. <td>
  1662. <code>
  1663. <em>urlRequest</em>
  1664. </code>
  1665. </td>
  1666. <td>
  1667. <div>
  1668. <p>The URL request.</p>
  1669. </div>
  1670. </td>
  1671. </tr>
  1672. </tbody>
  1673. </table>
  1674. </div>
  1675. <div>
  1676. <h4>Return Value</h4>
  1677. <p>The created <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code>.</p>
  1678. </div>
  1679. </section>
  1680. </div>
  1681. </li>
  1682. </ul>
  1683. </div>
  1684. <div class="task-group">
  1685. <div class="task-name-container">
  1686. <a name="/MultipartFormData"></a>
  1687. <a name="//apple_ref/swift/Section/MultipartFormData" class="dashAnchor"></a>
  1688. <a href="#/MultipartFormData">
  1689. <h3 class="section-name">MultipartFormData</h3>
  1690. </a>
  1691. </div>
  1692. <ul class="item-container">
  1693. <li class="item">
  1694. <div>
  1695. <code>
  1696. <a name="/s:9Alamofire14SessionManagerC6uploadyyAA17MultipartFormDataCc09multipartfG0_s6UInt64V14usingThresholdAA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headersyAC0efG14EncodingResultOcSg18encodingCompletiontF"></a>
  1697. <a name="//apple_ref/swift/Method/upload(multipartFormData:usingThreshold:to:method:headers:encodingCompletion:)" class="dashAnchor"></a>
  1698. <a class="token" href="#/s:9Alamofire14SessionManagerC6uploadyyAA17MultipartFormDataCc09multipartfG0_s6UInt64V14usingThresholdAA14URLConvertible_p2toAA10HTTPMethodO6methods10DictionaryVyS2SGSg7headersyAC0efG14EncodingResultOcSg18encodingCompletiontF">upload(multipartFormData:usingThreshold:to:method:headers:encodingCompletion:)</a>
  1699. </code>
  1700. </div>
  1701. <div class="height-container">
  1702. <div class="pointer-container"></div>
  1703. <section class="section">
  1704. <div class="pointer"></div>
  1705. <div class="abstract">
  1706. <p>Encodes <code>multipartFormData</code> using <code>encodingMemoryThreshold</code> and calls <code>encodingCompletion</code> with new
  1707. <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code> using the <code>url</code>, <code>method</code> and <code>headers</code>.</p>
  1708. <p>It is important to understand the memory implications of uploading <code><a href="../Classes/MultipartFormData.html">MultipartFormData</a></code>. If the cummulative
  1709. payload is small, encoding the data in-memory and directly uploading to a server is the by far the most
  1710. efficient approach. However, if the payload is too large, encoding the data in-memory could cause your app to
  1711. be terminated. Larger payloads must first be written to disk using input and output streams to keep the memory
  1712. footprint low, then the data can be uploaded as a stream from the resulting file. Streaming from disk MUST be
  1713. used for larger payloads such as video content.</p>
  1714. <p>The <code>encodingMemoryThreshold</code> parameter allows Alamofire to automatically determine whether to encode in-memory
  1715. or stream from disk. If the content length of the <code><a href="../Classes/MultipartFormData.html">MultipartFormData</a></code> is below the <code>encodingMemoryThreshold</code>,
  1716. encoding takes place in-memory. If the content length exceeds the threshold, the data is streamed to disk
  1717. during the encoding process. Then the result is uploaded as data or as a stream depending on which encoding
  1718. technique was used.</p>
  1719. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1720. </div>
  1721. <div class="declaration">
  1722. <h4>Declaration</h4>
  1723. <div class="language">
  1724. <p class="aside-title">Swift</p>
  1725. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span>
  1726. <span class="nv">multipartFormData</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="kt"><a href="../Classes/MultipartFormData.html">MultipartFormData</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">,</span>
  1727. <span class="n">usingThreshold</span> <span class="nv">encodingMemoryThreshold</span><span class="p">:</span> <span class="kt">UInt64</span> <span class="o">=</span> <span class="kt">SessionManager</span><span class="o">.</span><span class="n"><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC40multipartFormDataEncodingMemoryThresholds6UInt64VvZ">multipartFormDataEncodingMemoryThreshold</a></span><span class="p">,</span>
  1728. <span class="n">to</span> <span class="nv">url</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLConvertible.html">URLConvertible</a></span><span class="p">,</span>
  1729. <span class="nv">method</span><span class="p">:</span> <span class="kt"><a href="../Enums/HTTPMethod.html">HTTPMethod</a></span> <span class="o">=</span> <span class="o">.</span><span class="n">post</span><span class="p">,</span>
  1730. <span class="nv">headers</span><span class="p">:</span> <span class="kt"><a href="../Typealiases.html#/s:9Alamofire11HTTPHeadersa">HTTPHeaders</a></span><span class="p">?</span> <span class="o">=</span> <span class="kc">nil</span><span class="p">,</span>
  1731. <span class="nv">encodingCompletion</span><span class="p">:</span> <span class="p">((</span><span class="kt"><a href="../Classes/SessionManager/MultipartFormDataEncodingResult.html">MultipartFormDataEncodingResult</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?)</span></code></pre>
  1732. </div>
  1733. </div>
  1734. <div>
  1735. <h4>Parameters</h4>
  1736. <table class="graybox">
  1737. <tbody>
  1738. <tr>
  1739. <td>
  1740. <code>
  1741. <em>multipartFormData</em>
  1742. </code>
  1743. </td>
  1744. <td>
  1745. <div>
  1746. <p>The closure used to append body parts to the <code>MultipartFormData</code>.</p>
  1747. </div>
  1748. </td>
  1749. </tr>
  1750. <tr>
  1751. <td>
  1752. <code>
  1753. <em>encodingMemoryThreshold</em>
  1754. </code>
  1755. </td>
  1756. <td>
  1757. <div>
  1758. <p>The encoding memory threshold in bytes.
  1759. <code>multipartFormDataEncodingMemoryThreshold</code> by default.</p>
  1760. </div>
  1761. </td>
  1762. </tr>
  1763. <tr>
  1764. <td>
  1765. <code>
  1766. <em>url</em>
  1767. </code>
  1768. </td>
  1769. <td>
  1770. <div>
  1771. <p>The URL.</p>
  1772. </div>
  1773. </td>
  1774. </tr>
  1775. <tr>
  1776. <td>
  1777. <code>
  1778. <em>method</em>
  1779. </code>
  1780. </td>
  1781. <td>
  1782. <div>
  1783. <p>The HTTP method. <code>.post</code> by default.</p>
  1784. </div>
  1785. </td>
  1786. </tr>
  1787. <tr>
  1788. <td>
  1789. <code>
  1790. <em>headers</em>
  1791. </code>
  1792. </td>
  1793. <td>
  1794. <div>
  1795. <p>The HTTP headers. <code>nil</code> by default.</p>
  1796. </div>
  1797. </td>
  1798. </tr>
  1799. <tr>
  1800. <td>
  1801. <code>
  1802. <em>encodingCompletion</em>
  1803. </code>
  1804. </td>
  1805. <td>
  1806. <div>
  1807. <p>The closure called when the <code>MultipartFormData</code> encoding is complete.</p>
  1808. </div>
  1809. </td>
  1810. </tr>
  1811. </tbody>
  1812. </table>
  1813. </div>
  1814. </section>
  1815. </div>
  1816. </li>
  1817. <li class="item">
  1818. <div>
  1819. <code>
  1820. <a name="/s:9Alamofire14SessionManagerC6uploadyyAA17MultipartFormDataCc09multipartfG0_s6UInt64V14usingThresholdAA21URLRequestConvertible_p4withyAC0efG14EncodingResultOcSg18encodingCompletiontF"></a>
  1821. <a name="//apple_ref/swift/Method/upload(multipartFormData:usingThreshold:with:encodingCompletion:)" class="dashAnchor"></a>
  1822. <a class="token" href="#/s:9Alamofire14SessionManagerC6uploadyyAA17MultipartFormDataCc09multipartfG0_s6UInt64V14usingThresholdAA21URLRequestConvertible_p4withyAC0efG14EncodingResultOcSg18encodingCompletiontF">upload(multipartFormData:usingThreshold:with:encodingCompletion:)</a>
  1823. </code>
  1824. </div>
  1825. <div class="height-container">
  1826. <div class="pointer-container"></div>
  1827. <section class="section">
  1828. <div class="pointer"></div>
  1829. <div class="abstract">
  1830. <p>Encodes <code>multipartFormData</code> using <code>encodingMemoryThreshold</code> and calls <code>encodingCompletion</code> with new
  1831. <code><a href="../Classes/UploadRequest.html">UploadRequest</a></code> using the <code>urlRequest</code>.</p>
  1832. <p>It is important to understand the memory implications of uploading <code><a href="../Classes/MultipartFormData.html">MultipartFormData</a></code>. If the cummulative
  1833. payload is small, encoding the data in-memory and directly uploading to a server is the by far the most
  1834. efficient approach. However, if the payload is too large, encoding the data in-memory could cause your app to
  1835. be terminated. Larger payloads must first be written to disk using input and output streams to keep the memory
  1836. footprint low, then the data can be uploaded as a stream from the resulting file. Streaming from disk MUST be
  1837. used for larger payloads such as video content.</p>
  1838. <p>The <code>encodingMemoryThreshold</code> parameter allows Alamofire to automatically determine whether to encode in-memory
  1839. or stream from disk. If the content length of the <code><a href="../Classes/MultipartFormData.html">MultipartFormData</a></code> is below the <code>encodingMemoryThreshold</code>,
  1840. encoding takes place in-memory. If the content length exceeds the threshold, the data is streamed to disk
  1841. during the encoding process. Then the result is uploaded as data or as a stream depending on which encoding
  1842. technique was used.</p>
  1843. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1844. </div>
  1845. <div class="declaration">
  1846. <h4>Declaration</h4>
  1847. <div class="language">
  1848. <p class="aside-title">Swift</p>
  1849. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">upload</span><span class="p">(</span>
  1850. <span class="nv">multipartFormData</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="p">(</span><span class="kt"><a href="../Classes/MultipartFormData.html">MultipartFormData</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">,</span>
  1851. <span class="n">usingThreshold</span> <span class="nv">encodingMemoryThreshold</span><span class="p">:</span> <span class="kt">UInt64</span> <span class="o">=</span> <span class="kt">SessionManager</span><span class="o">.</span><span class="n"><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC40multipartFormDataEncodingMemoryThresholds6UInt64VvZ">multipartFormDataEncodingMemoryThreshold</a></span><span class="p">,</span>
  1852. <span class="n">with</span> <span class="nv">urlRequest</span><span class="p">:</span> <span class="kt"><a href="../Protocols/URLRequestConvertible.html">URLRequestConvertible</a></span><span class="p">,</span>
  1853. <span class="nv">encodingCompletion</span><span class="p">:</span> <span class="p">((</span><span class="kt"><a href="../Classes/SessionManager/MultipartFormDataEncodingResult.html">MultipartFormDataEncodingResult</a></span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt">Void</span><span class="p">)?)</span></code></pre>
  1854. </div>
  1855. </div>
  1856. <div>
  1857. <h4>Parameters</h4>
  1858. <table class="graybox">
  1859. <tbody>
  1860. <tr>
  1861. <td>
  1862. <code>
  1863. <em>multipartFormData</em>
  1864. </code>
  1865. </td>
  1866. <td>
  1867. <div>
  1868. <p>The closure used to append body parts to the <code>MultipartFormData</code>.</p>
  1869. </div>
  1870. </td>
  1871. </tr>
  1872. <tr>
  1873. <td>
  1874. <code>
  1875. <em>encodingMemoryThreshold</em>
  1876. </code>
  1877. </td>
  1878. <td>
  1879. <div>
  1880. <p>The encoding memory threshold in bytes.
  1881. <code>multipartFormDataEncodingMemoryThreshold</code> by default.</p>
  1882. </div>
  1883. </td>
  1884. </tr>
  1885. <tr>
  1886. <td>
  1887. <code>
  1888. <em>urlRequest</em>
  1889. </code>
  1890. </td>
  1891. <td>
  1892. <div>
  1893. <p>The URL request.</p>
  1894. </div>
  1895. </td>
  1896. </tr>
  1897. <tr>
  1898. <td>
  1899. <code>
  1900. <em>encodingCompletion</em>
  1901. </code>
  1902. </td>
  1903. <td>
  1904. <div>
  1905. <p>The closure called when the <code>MultipartFormData</code> encoding is complete.</p>
  1906. </div>
  1907. </td>
  1908. </tr>
  1909. </tbody>
  1910. </table>
  1911. </div>
  1912. </section>
  1913. </div>
  1914. </li>
  1915. </ul>
  1916. </div>
  1917. <div class="task-group">
  1918. <div class="task-name-container">
  1919. <a name="/Hostname%20and%20Port"></a>
  1920. <a name="//apple_ref/swift/Section/Hostname and Port" class="dashAnchor"></a>
  1921. <a href="#/Hostname%20and%20Port">
  1922. <h3 class="section-name">Hostname and Port</h3>
  1923. </a>
  1924. </div>
  1925. <ul class="item-container">
  1926. <li class="item">
  1927. <div>
  1928. <code>
  1929. <a name="/s:9Alamofire14SessionManagerC6streamAA13StreamRequestCSS12withHostName_Si4porttF"></a>
  1930. <a name="//apple_ref/swift/Method/stream(withHostName:port:)" class="dashAnchor"></a>
  1931. <a class="token" href="#/s:9Alamofire14SessionManagerC6streamAA13StreamRequestCSS12withHostName_Si4porttF">stream(withHostName:port:)</a>
  1932. </code>
  1933. </div>
  1934. <div class="height-container">
  1935. <div class="pointer-container"></div>
  1936. <section class="section">
  1937. <div class="pointer"></div>
  1938. <div class="abstract">
  1939. <p>Creates a <code><a href="../Classes.html#/s:9Alamofire13StreamRequestC">StreamRequest</a></code> for bidirectional streaming using the <code>hostname</code> and <code>port</code>.</p>
  1940. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  1941. </div>
  1942. <div class="declaration">
  1943. <h4>Declaration</h4>
  1944. <div class="language">
  1945. <p class="aside-title">Swift</p>
  1946. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">stream</span><span class="p">(</span><span class="n">withHostName</span> <span class="nv">hostName</span><span class="p">:</span> <span class="kt">String</span><span class="p">,</span> <span class="nv">port</span><span class="p">:</span> <span class="kt">Int</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes.html#/s:9Alamofire13StreamRequestC">StreamRequest</a></span></code></pre>
  1947. </div>
  1948. </div>
  1949. <div>
  1950. <h4>Parameters</h4>
  1951. <table class="graybox">
  1952. <tbody>
  1953. <tr>
  1954. <td>
  1955. <code>
  1956. <em>hostName</em>
  1957. </code>
  1958. </td>
  1959. <td>
  1960. <div>
  1961. <p>The hostname of the server to connect to.</p>
  1962. </div>
  1963. </td>
  1964. </tr>
  1965. <tr>
  1966. <td>
  1967. <code>
  1968. <em>port</em>
  1969. </code>
  1970. </td>
  1971. <td>
  1972. <div>
  1973. <p>The port of the server to connect to.</p>
  1974. </div>
  1975. </td>
  1976. </tr>
  1977. </tbody>
  1978. </table>
  1979. </div>
  1980. <div>
  1981. <h4>Return Value</h4>
  1982. <p>The created <code><a href="../Classes.html#/s:9Alamofire13StreamRequestC">StreamRequest</a></code>.</p>
  1983. </div>
  1984. </section>
  1985. </div>
  1986. </li>
  1987. </ul>
  1988. </div>
  1989. <div class="task-group">
  1990. <div class="task-name-container">
  1991. <a name="/NetService"></a>
  1992. <a name="//apple_ref/swift/Section/NetService" class="dashAnchor"></a>
  1993. <a href="#/NetService">
  1994. <h3 class="section-name">NetService</h3>
  1995. </a>
  1996. </div>
  1997. <ul class="item-container">
  1998. <li class="item">
  1999. <div>
  2000. <code>
  2001. <a name="/s:9Alamofire14SessionManagerC6streamAA13StreamRequestCSo10NetServiceC4with_tF"></a>
  2002. <a name="//apple_ref/swift/Method/stream(with:)" class="dashAnchor"></a>
  2003. <a class="token" href="#/s:9Alamofire14SessionManagerC6streamAA13StreamRequestCSo10NetServiceC4with_tF">stream(with:)</a>
  2004. </code>
  2005. </div>
  2006. <div class="height-container">
  2007. <div class="pointer-container"></div>
  2008. <section class="section">
  2009. <div class="pointer"></div>
  2010. <div class="abstract">
  2011. <p>Creates a <code><a href="../Classes.html#/s:9Alamofire13StreamRequestC">StreamRequest</a></code> for bidirectional streaming using the <code>netService</code>.</p>
  2012. <p>If <code><a href="../Classes/SessionManager.html#/s:9Alamofire14SessionManagerC24startRequestsImmediatelySbv">startRequestsImmediately</a></code> is <code>true</code>, the request will have <code>resume()</code> called before being returned.</p>
  2013. </div>
  2014. <div class="declaration">
  2015. <h4>Declaration</h4>
  2016. <div class="language">
  2017. <p class="aside-title">Swift</p>
  2018. <pre class="highlight"><code><span class="n">open</span> <span class="kd">func</span> <span class="nf">stream</span><span class="p">(</span><span class="n">with</span> <span class="nv">netService</span><span class="p">:</span> <span class="kt">NetService</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kt"><a href="../Classes.html#/s:9Alamofire13StreamRequestC">StreamRequest</a></span></code></pre>
  2019. </div>
  2020. </div>
  2021. <div>
  2022. <h4>Parameters</h4>
  2023. <table class="graybox">
  2024. <tbody>
  2025. <tr>
  2026. <td>
  2027. <code>
  2028. <em>netService</em>
  2029. </code>
  2030. </td>
  2031. <td>
  2032. <div>
  2033. <p>The net service used to identify the endpoint.</p>
  2034. </div>
  2035. </td>
  2036. </tr>
  2037. </tbody>
  2038. </table>
  2039. </div>
  2040. <div>
  2041. <h4>Return Value</h4>
  2042. <p>The created <code><a href="../Classes.html#/s:9Alamofire13StreamRequestC">StreamRequest</a></code>.</p>
  2043. </div>
  2044. </section>
  2045. </div>
  2046. </li>
  2047. </ul>
  2048. </div>
  2049. </div>
  2050. </section>
  2051. </article>
  2052. </div>
  2053. <section class="footer">
  2054. <p>&copy; 2017 <a class="link" href="http://alamofire.org/" target="_blank" rel="external">Alamofire Software Foundation</a>. All rights reserved. (Last updated: 2017-08-21)</p>
  2055. <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external">jazzy ♪♫ v0.8.3</a>, a <a class="link" href="http://realm.io" target="_blank" rel="external">Realm</a> project.</p>
  2056. </section>
  2057. </body>
  2058. </div>
  2059. </html>