def __init__(self, function): WebMethodDescriptor.__init__(self, function, of_type, ('POST', client, lang, qs), 'application/json', encoding, None, None, None) if allowed_origins: from porcupine import context from porcupine import filters @filters.runas('system') @webmethod(of_type=of_type, http_method="OPTIONS", content_type="text/plain", max_age=-1) def __blank__(self): origin = WebMethod._getAccessControlAllowOrigin( allowed_origins, context) if origin: allowheaders = (context.request. HTTP_ACCESS_CONTROL_REQUEST_HEADERS) if not allowheaders: allowheaders = "*" context.response.set_header( "Access-Control-Allow-Origin", origin) context.response.set_header( "Access-Control-Allow-Headers", allowheaders) context.response.set_header( "Access-Control-Allow-Methods", "POST, GET, OPTIONS") context.response.set_header( "Cache-Control", "no-cache")
def execute(self, item, context): if isPage: from porcupine.core.session import SessionManager from porcupine.filters.output import JSMerge script_name = context.request.serverVariables["SCRIPT_NAME"] cookies_required = SessionManager._sm.requires_cookies no_cookies_url = '%s/{%s}%s%s' % ( script_name, context.session.sessionid, context.request.serverVariables['PATH_INFO'], context.request.get_query_string()) # get revision of quix core files quix_core_reg = ( pubdirs.dirs['__quix'].get_registration('core.js')) quix_core_files = ( quix_core_reg.get_filter_by_type(JSMerge)[1]['files']. split(',')) core_revision = JSMerge.get_revision(quix_core_files) vars = (bgcolor, title, script_name, script_name, core_revision, str(cookies_required).lower(), no_cookies_url) context.response.content_type = 'text/html' context.response.write((''' <!DOCTYPE html> <html style="background-color:%s"> <head> <title>%s</title> <script type="text/javascript" defer="defer" src="%s/__quix/lib/extensions.js"> </script> <script type="text/javascript" defer="defer" src="%s/__quix/core.js?r=%d"> </script> <script type="text/javascript"> (function() { document.cookiesEnabled = false; document.cookiesRequired = %s; var session_id = ( new RegExp("/\(?:{|%%7b)(.*?)\(?:}|%%7d)", "i")) .exec(document.location.href); if (session_id) session_id = session_id[1]; if (typeof document.cookie == "string" && document.cookie.length != 0) document.cookiesEnabled = true; if (!session_id && !document.cookiesEnabled) document.location.href = '%s'; })(); </script> </head> <body onload="QuiX.__init__('quix')"> <textarea id="quix" style="display:none">''' % vars).strip()) WebMethodDescriptor.execute(self, item, context) if isPage: context.response.write('</textarea></body></html>')
def execute(self, item, context): if isPage: script_name = context.request.serverVariables["SCRIPT_NAME"] no_cookies_url = '%s/{%s}%s%s' % ( script_name, context.session.sessionid, context.request.serverVariables['PATH_INFO'], context.request.getQueryString() ) vars = (script_name, no_cookies_url) context.response.content_type = 'text/html' context.response.write((''' <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html> <head> <script type="text/javascript" defer="defer" src="%s/__quix/quix.js"></script> <script type="text/javascript" defer="defer"> var cookiesEnabled = false; var session_id = (new RegExp("/\(?:{|%%7b)([0-9a-f]{32})\(?:}|%%7d)", "i")).exec(document.location.href); if (session_id) session_id = session_id[1]; if (typeof document.cookie == "string" && document.cookie.length != 0) cookiesEnabled = true; if (!session_id && !cookiesEnabled) document.location.href = '%s'; </script> </head> <body onload="QuiX.__init__()"> <xml id="quix" style="display:none">''' % vars).strip()) WebMethodDescriptor.execute(self, item, context) if isPage: context.response.write('</xml></body></html>')
def __init__(self, function): WebMethodDescriptor.__init__(self, function, of_type, ('GET', '(MSIE [6-7].+Windows NT)|(Mozilla/5.0.+rv:1.[7-9])|Version/3.\d(.*)Safari|Chrome/\d.\d', lang, qs), 'text/xml', encoding, max_age, template, template_engine)
def __init__(self, function): WebMethodDescriptor.__init__(self, function, of_type, ('GET', '(MSIE (?:[6-9]|10).+Windows NT)|' + '(Mozilla/5\.0.+rv:(1\.[7-9]|2\.\d|(?:[5-9]|1[0-9])\.\d))|' + 'Version/[3-5]\.\d(.*)Safari|' + 'Chrome/(\d)+\.(\d)+|' + 'Opera/9', lang, qs), 'text/xml', encoding, max_age, template, template_engine)
def execute(self, item, context): if isPage: from porcupine.core.session import SessionManager script_name = context.request.serverVariables["SCRIPT_NAME"] cookies_required = SessionManager._sm.requires_cookies no_cookies_url = '%s/{%s}%s%s' % ( script_name, context.session.sessionid, context.request.serverVariables['PATH_INFO'], context.request.get_query_string()) # get revision of quix core files core_revision = misc.get_revision('quix', 'core.js') vars = (bgcolor, title, script_name, core_revision, context.request.get_lang(), str(cookies_required).lower(), no_cookies_url) context.response.content_type = 'text/html' context.response.write((''' <!DOCTYPE html> <html style="background-color:%s"> <head> <title>%s</title> <script type="text/javascript" defer="defer" src="%s/quix/core.js?r=%d"> </script> <script type="text/javascript"> (function() { navigator.locale = '%s'; document.cookiesEnabled = false; document.cookiesRequired = %s; var session_id = ( new RegExp("/\(?:{|%%7b)(.*?)\(?:}|%%7d)", "i")) .exec(document.location.href); if (session_id) { session_id = session_id[1]; } if (typeof document.cookie == "string" && document.cookie.length != 0) { document.cookiesEnabled = true; } if (!session_id && !document.cookiesEnabled) { document.location.href = '%s'; } })(); </script> <script id="quix" type="application/xml">''' % vars).strip()) WebMethodDescriptor.execute(self, item, context) if isPage: context.response.write('''</script> </head> <body onload="QuiX.__init__('quix')">''') context.response.write(body) context.response.write('</body></html>')
def __init__(self, function): WebMethodDescriptor.__init__(self, function, of_type, (http_method, client, lang, qs), content_type, encoding, max_age, template, template_engine)
def __init__(self, function): WebMethodDescriptor.__init__(self, function, of_type, ('GET', 'PMB|UNTRUSTED', lang, qs), 'text/xml', encoding, max_age, template, template_engine)
def __init__(self, function): WebMethodDescriptor.__init__(self, function, of_type, ('POST', client, lang, qs), 'application/json', encoding, None, None, None)
def __init__(self, function): WebMethodDescriptor.__init__(self, function, of_type, ('POST', client, lang, qs), 'text/xml', encoding, None, None, None)
def __init__(self, function): WebMethodDescriptor.__init__(self, function, of_type, ('GET', '(MSIE [6-7])|(Mozilla/5.0.+rv:1.[7-9])', lang, qs), 'text/xml', encoding, max_age, template, template_engine)