← craftery.dev

cURL to Swift

Paste a curl command · URLSession code · headers · body · basic auth

curlInput
Swift URLSessionSwift
Swift 5.5+ · call from an async context
import Foundation

let url = URL(string: "https://api.example.com/v1/users")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("Bearer YOUR_TOKEN", forHTTPHeaderField: "Authorization")

let bodyString = #"""
{
  "name": "Ada Lovelace",
  "role": "engineer",
  "active": true
}
"""#
request.httpBody = Data(bodyString.utf8)

let (data, response) = try await URLSession.shared.data(for: request)

guard let httpResponse = response as? HTTPURLResponse else {
    throw URLError(.badServerResponse)
}
print("Status code: \(httpResponse.statusCode)")
print(String(decoding: data, as: UTF8.self))

100% client-side · Your data never leaves your browser

by craftery.dev