I am decoding a JSON from an API using JSONDecoder and URL session. It works great
URLSession.shared.dataTask(with: request) { (data, theResponse, error)
Within "theResponse" (which I am not decoding), the last key is "X-RateLimit-requests-Remaining":
<NSHTTPURLResponse: 0x6000033ec300> { URL: myUrl } { Status Code: 200, Headers {
Connection = (
"keep-alive"
);
"Content-Encoding" = (
gzip
);
"Content-Length" = (
1913
);
"Content-Type" = (
"application/json"
);
Date = (
"Mon, 28 Sep 2020 14:34:35 GMT"
);
Server = (
"RapidAPI-1.2.6"
);
"X-RapidAPI-Region" = (
"AWS - eu-central-1"
);
"X-RapidAPI-Version" = (
"1.2.6"
);
"X-RateLimit-requests-Limit" = (
100
);
"X-RateLimit-requests-Remaining" = (
68
);
} }
Since the above is not JSON, is it possible to decode these values into a type, that I can then use for rate limiting purposes?
For example, limiting requests within my app when "X-RateLimit-requests-Remaining" reaches 10
Thanks
These are already decoded for you, into a
[AnyHashable: Any]
dictionary. To fetch this particular one, you'd check it with something along these lines: