perf(socketio): get_site_name

The usages and number of conditions evaluated in the function called for
some sort of a cache. If the site name is evaluated once, store it in
the socket object!
This commit is contained in:
Gavin D'souza 2022-11-14 18:00:32 +05:30
parent 4de9c39bb8
commit 54bf617d09

View file

@ -226,21 +226,22 @@ function get_task_room(socket, task_id) {
}
function get_site_name(socket) {
var hostname_from_host = get_hostname(socket.request.headers.host);
if (socket.request.headers["x-frappe-site-name"]) {
return get_hostname(socket.request.headers["x-frappe-site-name"]);
if (socket.site_name) {
return socket.site_name;
} else if (socket.request.headers["x-frappe-site-name"]) {
socket.site_name = get_hostname(socket.request.headers["x-frappe-site-name"]);
} else if (
["localhost", "127.0.0.1"].indexOf(hostname_from_host) !== -1 &&
conf.default_site
conf.default_site &&
["localhost", "127.0.0.1"].indexOf(get_hostname(socket.request.headers.host)) !== -1
) {
// from currentsite.txt since host is localhost
return conf.default_site;
socket.site_name = conf.default_site;
} else if (socket.request.headers.origin) {
return get_hostname(socket.request.headers.origin);
socket.site_name = get_hostname(socket.request.headers.origin);
} else {
return get_hostname(socket.request.headers.host);
socket.site_name = get_hostname(socket.request.headers.host);
}
return socket.site_name;
}
function get_hostname(url) {