mirror of
https://github.com/therealaleph/MasterHttpRelayVPN-RUST.git
synced 2026-05-17 21:24:48 +03:00
fix(exit-node): preserve raw exit-node responses
Return raw exit-node responses from Apps Script when requested and strip stale exit-node content-encoding headers after server-side decompression.
This commit is contained in:
@@ -202,6 +202,15 @@ function _doSingle(req) {
|
||||
try {
|
||||
var opts = _buildOpts(req);
|
||||
var resp = UrlFetchApp.fetch(req.u, opts);
|
||||
|
||||
// Raw-return mode for exit-node path.
|
||||
// r:true = return destination body verbatim so Rust gets {s,h,b} unwrapped.
|
||||
if (req.r === true) {
|
||||
return ContentService
|
||||
.createTextOutput(resp.getContentText())
|
||||
.setMimeType(ContentService.MimeType.JSON);
|
||||
}
|
||||
|
||||
return _json({
|
||||
s: resp.getResponseCode(),
|
||||
h: _respHeaders(resp),
|
||||
@@ -307,7 +316,7 @@ function _buildOpts(req) {
|
||||
var opts = {
|
||||
method: (req.m || "GET").toLowerCase(),
|
||||
muteHttpExceptions: true,
|
||||
followRedirects: req.r !== false,
|
||||
followRedirects: true, // ← always true; r flag now has different meaning
|
||||
validateHttpsCertificates: true,
|
||||
escaping: false,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user