pass all headers to /track endpoint

This commit is contained in:
Karol Wypchlo 2021-04-12 13:37:18 +02:00
parent a345737964
commit a96b929909
1 changed files with 7 additions and 6 deletions

View File

@ -302,12 +302,11 @@ server {
if ngx.status == ngx.HTTP_OK or ngx.status == ngx.HTTP_NOT_FOUND then if ngx.status == ngx.HTTP_OK or ngx.status == ngx.HTTP_NOT_FOUND then
local http = require("socket.http") local http = require("socket.http")
local headers = { Cookie = ngx.req.get_headers()["Cookie"] }
local method = ngx.req.get_method() == ngx.HTTP_GET and "read" or "write" local method = ngx.req.get_method() == ngx.HTTP_GET and "read" or "write"
local ok, statusCode, headers, statusText = http.request { local ok, statusCode, headers, statusText = http.request {
url = "http://accounts:3000/track/registry/" .. method, url = "http://accounts:3000/track/registry/" .. method,
method = "POST", method = "POST",
headers = headers headers = ngx.req.get_headers()
} }
if statusCode ~= ngx.HTTP_NO_CONTENT and statusCode ~= ngx.HTTP_UNAUTHORIZED then if statusCode ~= ngx.HTTP_NO_CONTENT and statusCode ~= ngx.HTTP_UNAUTHORIZED then
ngx.log(ngx.ERR, "accounts endpoint /track/registry/" .. method .. " failed with error " .. statusCode) ngx.log(ngx.ERR, "accounts endpoint /track/registry/" .. method .. " failed with error " .. statusCode)
@ -368,8 +367,11 @@ server {
local skylink = ngx.header["Skynet-Skylink"] local skylink = ngx.header["Skynet-Skylink"]
if skylink and ngx.status >= ngx.HTTP_OK and ngx.status < ngx.HTTP_SPECIAL_RESPONSE then if skylink and ngx.status >= ngx.HTTP_OK and ngx.status < ngx.HTTP_SPECIAL_RESPONSE then
local http = require("socket.http") local http = require("socket.http")
local headers = { Cookie = ngx.req.get_headers()["Cookie"] } local ok, statusCode, headers, statusText = http.request {
local ok, statusCode, headers, statusText = http.request { url = "http://accounts:3000/track/upload/" .. skylink, method = "POST", headers = headers } url = "http://accounts:3000/track/upload/" .. skylink,
method = "POST",
headers = ngx.req.get_headers()
}
if statusCode ~= ngx.HTTP_NO_CONTENT and statusCode ~= ngx.HTTP_UNAUTHORIZED then if statusCode ~= ngx.HTTP_NO_CONTENT and statusCode ~= ngx.HTTP_UNAUTHORIZED then
ngx.log(ngx.ERR, "accounts endpoint /track/upload/" .. skylink .. " failed with error " .. statusCode) ngx.log(ngx.ERR, "accounts endpoint /track/upload/" .. skylink .. " failed with error " .. statusCode)
end end
@ -414,12 +416,11 @@ server {
local skylink = ngx.header["Skynet-Skylink"] local skylink = ngx.header["Skynet-Skylink"]
if skylink and ngx.status >= ngx.HTTP_OK and ngx.status < ngx.HTTP_SPECIAL_RESPONSE then if skylink and ngx.status >= ngx.HTTP_OK and ngx.status < ngx.HTTP_SPECIAL_RESPONSE then
local http = require("socket.http") local http = require("socket.http")
local headers = { Cookie = ngx.req.get_headers()["Cookie"] }
local query = table.concat({ "status=" .. ngx.status, "bytes=" .. ngx.var.body_bytes_sent }, "&") local query = table.concat({ "status=" .. ngx.status, "bytes=" .. ngx.var.body_bytes_sent }, "&")
local ok, statusCode, headers, statusText = http.request { local ok, statusCode, headers, statusText = http.request {
url = "http://accounts:3000/track/download/" .. skylink .. "?" .. query, url = "http://accounts:3000/track/download/" .. skylink .. "?" .. query,
method = "POST", method = "POST",
headers = headers headers = ngx.req.get_headers()
} }
if statusCode ~= ngx.HTTP_NO_CONTENT and statusCode ~= ngx.HTTP_UNAUTHORIZED then if statusCode ~= ngx.HTTP_NO_CONTENT and statusCode ~= ngx.HTTP_UNAUTHORIZED then
ngx.log(ngx.ERR, "accounts endpoint /track/download/" .. skylink .. " failed with error " .. statusCode) ngx.log(ngx.ERR, "accounts endpoint /track/download/" .. skylink .. " failed with error " .. statusCode)