var minisrv_service_file = true; // willie is just a graphical frontend to a list of ROMs // the rest of the scripts should work if you manually link to a ROM, and actually have it. request_is_async = true; var proxy_query = ''; if (request_headers.query.flash) delete request_headers.query.flash; if (request_headers.query.vflash) delete request_headers.query.vflash; if (request_headers.query.pflash) delete request_headers.query.pflash; for (const [key, value] of Object.entries(request_headers.query)) { proxy_query += "&" + key + "=" + escape(value); } if (!minisrv_config.services[service_name].use_zefie_server) { proxy_query += "&minisrv_local_mode=true"; } var options = { host: "roms.minisrv.dev", path: "/?minisrv=true&service_name="+escape(service_name)+"&pflash=" + session_data.get("wtv-client-rom-type") + proxy_query, timeout: 5000, method: 'GET' } headers = "200 OK\nContent-type: text/html"; const req = https.request(options, function (res) { data = ''; res.on('data', d => { data += d; }); res.on('error', function (e) { if (!minisrv_config.config.debug_flags.quiet) console.log(" * Upstream Ultra Willies HTTP Error:", e); var errpage = wtvshared.doErrorPage(400) headers = errpage[0]; data = errpage[1]; sendToClient(socket, headers, data); }); res.on('end', function () { if (!minisrv_config.config.debug_flags.quiet) console.log(" * Upstream Ultra Willies HTTP Response:", res.statusCode, res.statusMessage); if (request_headers.query.clear_cache) { headers += "\nwtv-expire-all: "+service_name; } sendToClient(socket, headers, data); }); }); req.end();