Prevent upload from crashing if 500 is received from LastFM
This commit is contained in:
parent
6fe885132a
commit
c95ac51e05
1 changed files with 5 additions and 0 deletions
|
|
@ -66,6 +66,11 @@ pub fn post(request: *jetzig.Request) !jetzig.View {
|
|||
const query: []const u8 = try std.fmt.allocPrint(request.allocator, "https://ws.audioscrobbler.com/2.0/?method=user.getrecenttracks&user={s}&api_key=b0c410a48a6078a651e0832699e3cd41&from={}&to={}&page={}&limit=1000&format=json", .{ username, earliest_timestamp, latest_timestamp, page });
|
||||
const r = try client.fetch(.{ .response_storage = .{ .dynamic = &lastfm_response_buffer }, .location = .{ .url = query }, .method = .GET, .headers = .{ .user_agent = .{ .override = user_agent } } });
|
||||
std.log.debug("{}: {}", .{ page, r });
|
||||
if (@intFromEnum(r.status) == 500) {
|
||||
page -= 1;
|
||||
std.time.sleep(3 * std.time.ns_per_s);
|
||||
continue;
|
||||
}
|
||||
const response_string = try lastfm_response_buffer.toOwnedSlice();
|
||||
const parsed_lastfm_response = try std.json.parseFromSliceLeaky(Data.LastFMWeb, request.allocator, response_string, .{ .ignore_unknown_fields = true });
|
||||
//const current_page = try std.fmt.parseInt(usize, parsed_lastfm_response.recenttracks.@"@attr".page, 10);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue