Request /user/limits in bytes.
This commit is contained in:
parent
e2b5fe7b94
commit
e40ca0011c
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Reference in New Issue