Swiftpack.co - Package - wmcginty/UrbanVapor


CI Status codecov Swift Vapor


UrbanVapor is a Vapor 3 Provider intended to make it easy to work with Urban Airships Push Notifications API. It is designed to simplify or eliminate 'stringly-typed' parameters, making the API safer to use.


Before using UrbanVapor, you'll need to register it as a Provider:

public func configure(_ config: inout Config, _ env: inout Environment, _ services: inout Services) throws {
    if let key = Environment.get("URBAN_AIRSHIP_KEY"), let secret = Environment.get("URBAN_AIRSHIP_MASTERSECRET") {
        let urbanVapor = UrbanVaporProvider(key: key, secret: secret)
        try services.register(urbanVapor)

Then, in your route handler, you could do something like:

router.get("example") { req -> Future<Response> in
    let urbanVapor = try req.make(UrbanVaporService.self)
    let client = try req.client()

    return try urbanVapor.send(push: Push(...), on: client)


To run the example project, clone the repo, and run swift build from the directory.


Swift 4.1

Installation - SPM

Add the dependency to your Package.swift:

.package(url: "https://github.com/wmcginty/UrbanVapor.git", from: "0.0.1")


All contributions are more than welcome - pull requests, cleanup, bug fixes, refactors... whatever! I will be focusing on the UrbanAirship APIs I use most frequently - if you have a different one you'd like to see, create an issue.


Stars: 0


Used By

Total: 1