iOS SDK - Netzwerk abfangen
Netzwerk abfangen
Section titled Netzwerk abfangenORTracker stellt NetworkListener bereit, der sowohl Tasks als auch Requests akzeptiert. So gehen Sie vor:
import ORTracker
func fetchPokemonData(for name: String) {
let networkListener = NetworkListener()
let url = URL(string: "https://pokeapi.co/api/v2/pokemon/ditto")!
var request = URLRequest(url: url)
request.httpMethod = "GET" // This is the default, so it's optional in this case.
// Start the network listener with the request
networkListener.start(request: request)
// Create a data task
let task = URLSession.shared.dataTask(with: request) { data, response, error in
if let error = error {
print("Error: \(error.localizedDescription)")
return
}
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
} catch {
print("Error deserializing JSON: \(error)")
}
}
networkListener.finish(response: response, data: data)
}
task.resume()
}
Anfrage bereinigen
Section titled Anfrage bereinigenEs werden zwei Schlüssel bereitgestellt, um die Anfrage- und Antwortdaten automatisch zu kürzen: ignoredKeys für den Body und ignoredHeaders für die Header. Sowohl Anfrage als auch Antwort werden bereinigt, der Body jedoch nur, wenn es sich um gültiges JSON handelt.
Weisen Sie einfach eine Liste von Strings zu, die Sie bereinigen möchten:
let networkListener = NetworkListener()
networkListener.ignoredHeaders = ["mySecretToken"]
networkListener.ignoredKeys = ["password"]
Sie können die Antwortdaten auch ändern, bevor Sie sie an den Listener übergeben:
// ... request
var sanitizedData
if let data = data {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
sanitizedData = customSanitizeFunction(data)
print(json)
} catch {
print("Error deserializing JSON: \(error)")
}
}
networkListener.finish(response: response, data: sanitizedData)
Haben Sie Fragen?
Section titled Haben Sie Fragen?Wenn Sie Fragen zu diesem Vorgang haben, melden Sie sich gerne bei uns auf Slack.