duckduckgo/Alamofire

Name: Alamofire

Owner: DuckDuckGo

Description: Elegant HTTP Networking in Swift

Forked from: Alamofire/Alamofire

Created: 2018-02-08 17:48:42.0

Updated: 2018-02-08 17:48:45.0

Pushed: 2018-02-08 12:42:11.0

Homepage:

Size: 5119

Language: Swift

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Alamofire: Elegant Networking in Swift

Build Status CocoaPods Compatible Carthage Compatible Platform Twitter Gitter

Alamofire is an HTTP networking library written in Swift.

Features
Component Libraries

In order to keep Alamofire focused specifically on core networking implementations, additional component libraries have been created by the Alamofire Software Foundation to bring additional functionality to the Alamofire ecosystem.

Requirements
Migration Guides
Communication
Installation
CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

m install cocoapods

CocoaPods 1.1+ is required to build Alamofire 4.0+.

To integrate Alamofire into your Xcode project using CocoaPods, specify it in your Podfile:

ce 'https://github.com/CocoaPods/Specs.git'
form :ios, '10.0'
frameworks!

et '<Your Target Name>' do
pod 'Alamofire', '~> 4.5'

Then, run the following command:

d install
Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

ew update
ew install carthage

To integrate Alamofire into your Xcode project using Carthage, specify it in your Cartfile:

ub "Alamofire/Alamofire" ~> 4.5

Run carthage update to build the framework and drag the built Alamofire.framework into your Xcode project.

Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. It is in early development, but Alamofire does support its use on supported platforms.

Once you have your Swift package set up, adding Alamofire as a dependency is as easy as adding it to the dependencies value of your Package.swift.

Swift 3
ndencies: [
.Package(url: "https://github.com/Alamofire/Alamofire.git", majorVersion: 4)

Swift 4
ndencies: [
.package(url: "https://github.com/Alamofire/Alamofire.git", from: "4.0.0")

Manually

If you prefer not to use any of the aforementioned dependency managers, you can integrate Alamofire into your project manually.

Embedded Framework
Open Radars

The following radars have some effect on the current implementation of Alamofire.

Resolved Radars

The following radars have been resolved over time after being filed against the Alamofire project.

FAQ
What's the origin of the name Alamofire?

Alamofire is named after the Alamo Fire flower, a hybrid variant of the Bluebonnet, the official state flower of Texas.

What logic belongs in a Router vs. a Request Adapter?

Simple, static data such as paths, parameters and common headers belong in the Router. Dynamic data such as an Authorization header whose value can changed based on an authentication system belongs in a RequestAdapter.

The reason the dynamic data MUST be placed into the RequestAdapter is to support retry operations. When a Request is retried, the original request is not rebuilt meaning the Router will not be called again. The RequestAdapter is called again allowing the dynamic data to be updated on the original request before retrying the Request.

Credits

Alamofire is owned and maintained by the Alamofire Software Foundation. You can follow them on Twitter at @AlamofireSF for project updates and releases.

Security Disclosure

If you believe you have identified a security vulnerability with Alamofire, you should report it as soon as possible via email to security@alamofire.org. Please do not post it to a public issue tracker.

Donations

The ASF is looking to raise money to officially register as a federal non-profit organization. Registering will allow us members to gain some legal protections and also allow us to put donations to use, tax free. Donating to the ASF will enable us to:

The community adoption of the ASF libraries has been amazing. We are greatly humbled by your enthusiasm around the projects, and want to continue to do everything we can to move the needle forward. With your continued support, the ASF will be able to improve its reach and also provide better legal safety for the core members. If you use any of our libraries for work, see if your employers would be interested in donating. Our initial goal is to raise $1000 to get all our legal ducks in a row and kickstart this campaign. Any amount you can donate today to help us reach our goal would be greatly appreciated.

Click here to lend your support to: Alamofire Software Foundation and make a donation at pledgie.com !

License

Alamofire is released under the MIT license. See LICENSE for details.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.