Request /user/limits in bytes.

This commit is contained in:
Ivaylo Novakov 2022-03-10 14:52:45 +01:00
parent e2b5fe7b94
commit e40ca0011c
No known key found for this signature in database
GPG Key ID: 06B9354AB08BE9C6
2 changed files with 8 additions and 8 deletions

View File

@ -177,13 +177,13 @@ location /skynet/registry/subscription {
local httpc = require("resty.http").new() local httpc = require("resty.http").new()
-- fetch account limits and set download bandwidth and registry delays accordingly -- fetch account limits and set download bandwidth and registry delays accordingly
local res, err = httpc:request_uri("http://10.10.10.70:3000/user/limits", { local res, err = httpc:request_uri("http://10.10.10.70:3000/user/limits?unit=byte", {
headers = { ["Cookie"] = "skynet-jwt=" .. ngx.var.skynet_jwt } headers = { ["Cookie"] = "skynet-jwt=" .. ngx.var.skynet_jwt }
}) })
-- fail gracefully in case /user/limits failed -- fail gracefully in case /user/limits failed
if err or (res and res.status ~= ngx.HTTP_OK) then if err or (res and res.status ~= ngx.HTTP_OK) then
ngx.log(ngx.ERR, "Failed accounts service request /user/limits: ", err or ("[HTTP " .. res.status .. "] " .. res.body)) ngx.log(ngx.ERR, "Failed accounts service request /user/limits?unit=byte: ", err or ("[HTTP " .. res.status .. "] " .. res.body))
elseif res and res.status == ngx.HTTP_OK then elseif res and res.status == ngx.HTTP_OK then
local json = require('cjson') local json = require('cjson')
local limits = json.decode(res.body) local limits = json.decode(res.body)
@ -267,10 +267,10 @@ location /skynet/tus {
if require("skynet.account").is_access_forbidden() then if require("skynet.account").is_access_forbidden() then
return require("skynet.account").exit_access_forbidden() return require("skynet.account").exit_access_forbidden()
end end
-- get account limits of currently authenticated user -- get account limits of currently authenticated user
local limits = require("skynet.account").get_account_limits() local limits = require("skynet.account").get_account_limits()
-- apply upload size limits -- apply upload size limits
ngx.req.set_header("SkynetMaxUploadSize", limits.maxUploadSize) ngx.req.set_header("SkynetMaxUploadSize", limits.maxUploadSize)
end end

View File

@ -43,15 +43,15 @@ function _M.get_account_limits()
if ngx.var.account_limits == "" then if ngx.var.account_limits == "" then
local httpc = require("resty.http").new() local httpc = require("resty.http").new()
-- 10.10.10.70 points to accounts service (alias not available when using resty-http) -- 10.10.10.70 points to accounts service (alias not available when using resty-http)
local res, err = httpc:request_uri("http://10.10.10.70:3000/user/limits", { local res, err = httpc:request_uri("http://10.10.10.70:3000/user/limits?unit=byte", {
headers = { ["Cookie"] = "skynet-jwt=" .. ngx.var.skynet_jwt } headers = { ["Cookie"] = "skynet-jwt=" .. ngx.var.skynet_jwt }
}) })
-- fail gracefully in case /user/limits failed -- fail gracefully in case /user/limits failed
if err or (res and res.status ~= ngx.HTTP_OK) then if err or (res and res.status ~= ngx.HTTP_OK) then
ngx.log(ngx.ERR, "Failed accounts service request /user/limits: ", err or ("[HTTP " .. res.status .. "] " .. res.body)) ngx.log(ngx.ERR, "Failed accounts service request /user/limits?unit=byte: ", err or ("[HTTP " .. res.status .. "] " .. res.body))
ngx.var.account_limits = cjson.encode(anon_limits) ngx.var.account_limits = cjson.encode(anon_limits)
elseif res and res.status == ngx.HTTP_OK then elseif res and res.status == ngx.HTTP_OK then
ngx.var.account_limits = res.body ngx.var.account_limits = res.body