From 8770cc5cb129bd5c9f42b9a49b42b58f4966cff8 Mon Sep 17 00:00:00 2001 From: Pro4TLZZ <22709115+pro4tlzz@users.noreply.github.com> Date: Tue, 13 Jun 2023 17:59:02 +0100 Subject: [PATCH] Add Rate Limit Headers to Table --- rockstar/rockstar.css | 5 ++++- rockstar/rockstar.js | 13 +++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/rockstar/rockstar.css b/rockstar/rockstar.css index 90ab4c9a..d15d2034 100644 --- a/rockstar/rockstar.css +++ b/rockstar/rockstar.css @@ -27,4 +27,7 @@ } .hoverDiv:hover { background-color: #f0f0f0; -} \ No newline at end of file +} +.rs_headerTable td { + padding: 8px; +} diff --git a/rockstar/rockstar.js b/rockstar/rockstar.js index a4fb0d37..94f1b151 100644 --- a/rockstar/rockstar.js +++ b/rockstar/rockstar.js @@ -979,14 +979,23 @@ } requestJSON({url, method: method.value, data: data.value}).then((objects, status, jqXHR) => { $(results).html("
"); - var linkHeader = jqXHR.getResponseHeader("Link"); // TODO: maybe show X-Rate-Limit-* headers, too. + const linkHeader = jqXHR.getResponseHeader('Link'); + const remaining = jqXHR.getResponseHeader('X-Rate-Limit-Remaining'); + const limit = jqXHR.getResponseHeader('X-Rate-Limit-Limit'); + const reset = new Date(jqXHR.getResponseHeader('X-Rate-Limit-Reset') * 1000); if (linkHeader) { - $(results).html("
Headers
Link" + linkHeader.replace(/") + "

"); + link = 'Link' + linkHeader.replace(/"); var links = getLinks(linkHeader); if (links.next) { var nextUrl = new URL(links.next); // links.next is an absolute URL; we need a relative URL. nextUrl = nextUrl.pathname + nextUrl.search; } + if ((remaining || remaining === 0) && (limit || limit === 0) && reset) { + $(results).html('
Headers
' + link + `
Rate Limit ${limit}
Rate Limit Remaining ${remaining}
Rate Limit Reset ${reset}` + '

'); + } + else { + $(results).html('
Headers
' + link + '

'); + } } $(results).append("Status: " + jqXHR.status + " " + jqXHR.statusText + "
"); if (objects) {