Skip to content

Instantly share code, notes, and snippets.

import PackageDescription
let package = Package(
name: "SharedCode",
targets: [ ],
dependencies: [ ]
)
func performRequestWithUsername(username: String, password: String) {
let loginRequest = LoginRequest(userId: username, password: password)
let json = loginRequest.toJSON()
let urlRequest = NSMutableURLRequest( URL: NSURL(string: "https://SWIFT-WEBSERVICE-URL/login")!,
cachePolicy: .ReloadIgnoringLocalCacheData,
timeoutInterval: 60)
urlRequest.HTTPMethod = "POST"
urlRequest.setValue("application/json", forHTTPHeaderField: "Content-Type")
urlRequest.HTTPBody = try? json.rawData()
import Swifton
import Curassow
let router = Router()
router.post("/login", LoginController() ["login"])
serve { router.respond($0) }
import Inquiline
import Swifton
import SharedCode
class LoginController: Controller {
override init() {
super.init()
action("login") {request in
import PackageDescription
let package = Package(
name: "DockerSwiftBackend",
dependencies: [
.Package(url: "https://github.com/necolt/Swifton.git", Version(0,0,5)),
.Package(url: "https://github.com/necolt/Curassow.git", versions: Version(0,4,0)..<Version(1,0,0)),
.Package(url: "git@GIT_REPO_URL_TO_SHAREDCODE", versions: Version(0,0,9)..<Version(1,0,0)),
]
)
//matches route https://BASEURL/users/67 but not https://BASEURL/users/H67p
drop.get("users", Int.self) { request, userId in
return "You requested User #\(userId)"
}
//matches route https://BASEURL/players/67 if there is a persisted User in Database with id==67