Commits

Anonymous committed 0f2a833

Comments (0)

Files changed (3)

     if path.startswith('/'): path = path[1:] # Remove leading slash
     if path.endswith('/'): path = path[:-1] # Remove trailing slash
 
+    # So that requests like robots.txt can be handled by a method called  robots_txt
+    path = path.replace('.', '_')
+
     if not path:
         objectPathList = []
     else:

tutorial/06_aspects.py

         # Same as above, except _after gets called after the actually
         # requested method was executed. Its results are appended to
         # the output string.
-        if methodName not in ['header', 'footer']:
+        if getattr(method, 'exposed', False) and methodName not in ['header', 'footer']:
             return CONTINUE, self.footer()
         else:
+            # If the method is not exposed or if it's the header and footer itself, 
+            # don't do anything
             return CONTINUE, ''
 
 
     cpg.request.parsePostData = True
     cpg.request.rfile = environ["wsgi.input"]
     cpg.request.objectPath = None 
-    cpg.request.simpleCookie.load(cpg.request.headerMap['Cookie'])
+    if 'Cookie' in cpg.request.headerMap:
+        cpg.request.simpleCookie.load(cpg.request.headerMap['Cookie'])
 
     cpg.response.simpleCookie = Cookie.SimpleCookie()
     cpg.response.sendResponse = 1