Roxen.git / server / base_server / configuration.pike

version» Context lines:

Roxen.git/server/base_server/configuration.pike:1:   // This file is part of Roxen WebServer.   // Copyright © 1996 - 2009, Roxen IS.   //      // @appears Configuration   //! A site's main configuration    - constant cvs_version = "$Id: configuration.pike,v 1.722 2012/01/26 09:56:42 jonasw Exp $"; + constant cvs_version = "$Id$";   #include <module.h>   #include <module_constants.h>   #include <roxen.h>   #include <request_trace.h>   #include <timers.h>      #define CATCH(P,X) do{mixed e;if(e=catch{X;})report_error("While "+P+"\n"+describe_backtrace(e));}while(0)      // Tell Pike.count_memory this is global.   constant pike_cycle_depth = 0;
Roxen.git/server/base_server/configuration.pike:713: Inside #if defined(SNMP_AGENT)
   roxen->snmpagent->del_virtserv(get_config_id());    }   #endif       unregister_urls();       roxen.handle (do_stop_all_modules, lock);    }       if (!asynch) stop_all_modules_mutex->lock (1); +  destruct(cfg_js_logger);   }      string|array(string) type_from_filename( string file, int|void to,    string|void myext )   {    array(string)|string tmp;    if(!types_fun)    return to?({ "application/octet-stream", 0 }):"application/octet-stream";       string ext = lower_case(myext || Roxen.extension(file));
Roxen.git/server/base_server/configuration.pike:4649: Inside #if defined(SNMP_AGENT)
  #ifdef SNMP_AGENT    // Start trap after real virt.serv. loading    if(query("snmp_process") && objectp(roxen->snmpagent))    roxen->snmpagent->vs_start_trap(get_config_id());   #endif      }      DataCache datacache;    + // Handle changes in js logger endpoints + void js_log_endpoint_cb(object v) { +  if (!cfg_js_logger) return; +  +  array new_endpoints = v->query(); +  array old_endpoints = cfg_js_logger->get_bound_ports(); +  +  multiset obsolete = (multiset)old_endpoints; +  +  // Bind any new ports +  foreach(new_endpoints, string ep) { +  if (!ep || (ep == "")) continue; +  ep = roxen_path(ep); +  if (!obsolete[ep]) { +  cfg_js_logger->bind(ep); +  } +  obsolete[ep] = 0; +  } +  +  foreach((array)obsolete, string ep) { +  if (!ep || (ep == "")) continue; +  cfg_js_logger->unbind(ep); +  } + } +    protected void create()   {    if (!name) error ("Configuration name not set through bootstrap_info.\n"); -  +  +  cfg_js_logger = ConfigurationLogger(([ ]), UNDEFINED); +    // int st = gethrtime();    roxen.add_permission( "Site:"+name, LOC_C(306,"Site")+": "+name );       // for now only these two. In the future there might be more variables.    defvar( "data_cache_size", 131072, DLOCALE(274, "Cache:Cache size"),    TYPE_INT| VAR_PUBLIC,    DLOCALE(275, "The size of the data cache used to speed up requests "    "for commonly requested files, in KBytes"));       defvar( "data_cache_file_max_size", 256, DLOCALE(276, "Cache:Max file size"),
Roxen.git/server/base_server/configuration.pike:5111:    "not <tt>$LOGDIR/mysite/%y/Log.%m-%d</tt>)."),    0, lambda(){ return !query("Log");});       defvar("NoLog", ({ }),    DLOCALE(32, "Logging: No Logging for"), TYPE_STRING_LIST|VAR_MORE,    DLOCALE(33, "Don't log requests from hosts with an IP number which "    "matches any of the patterns in this list. This also affects "    "the access counter log."),    0, lambda(){ return !query("Log");});    +  defvar("JSLogEndpoints", ({ "$LOGDIR/" + Roxen.short_name(name) + ".jslog" }), +  DLOCALE(0, "Logging: JS Logging endpoints"), TYPE_STRING_LIST, +  DLOCALE(0, "Socket paths and/or IP:ports to bind for log output from this configuration")) +  ->add_changed_callback(js_log_endpoint_cb); +     defvar("Domain", roxen.get_domain(), DLOCALE(34, "Domain"),    TYPE_STRING|VAR_PUBLIC|VAR_NO_DEFAULT,    DLOCALE(35, "The domain name of the server. The domain name is used "    "to generate default URLs, and to generate email addresses."));       defvar("MyWorldLocation", "",    DLOCALE(36, "Ports: Primary Server URL"), TYPE_URL|VAR_PUBLIC,    DLOCALE(37, #"\   This is the main server URL, where your start page is located. This   setting is for instance used as fallback to generate absolute URLs to