Skip to content

Instantly share code, notes, and snippets.

@Bosn
Forked from dmathewwws/URLSession POST.swift
Created May 13, 2020 08:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Bosn/8d6271d02fbfb8085ddc5193c3e58b53 to your computer and use it in GitHub Desktop.
Save Bosn/8d6271d02fbfb8085ddc5193c3e58b53 to your computer and use it in GitHub Desktop.
URLSession POST request example
private static func createUserEventData(user:SKUser, eventType:SKEventType, sticker:Sticker?) {
// server endpoint
let endpoint = "https://app.stickerkit.io/userEvent/v1/\(user.projectID)"
guard let endpointUrl = URL(string: endpoint) else {
return nil
}
//Make JSON to send to send to server
var json = [String:Any]()
json[SKUser.PropertyKey.UUID] = user.UUID
json[SKUser.PropertyKey.projectID] = user.projectID
json[SKUser.PropertyKey.countryCode] = user.countryCode
json[SKUser.PropertyKey.deviceType] = user.deviceType
json[SKEvent.PropertyKey.type] = eventType.rawValue
json[SKEvent.PropertyKey.stickerID] = sticker?.id ?? ""
do {
let data = try JSONSerialization.data(withJSONObject: json, options: [])
var request = URLRequest(url: endpointUrl)
request.httpMethod = "POST"
request.httpBody = data
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
let task = URLSession.shared.dataTask(with: request)
task.resume()
}catch{
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment