~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to serve-branches

  • Committer: Martin Albisetti
  • Date: 2008-11-17 02:23:41 UTC
  • Revision ID: martin.albisetti@canonical.com-20081117022341-pj0oyhob16zgog81
Allow serving robots.txt out of static/ (Brian Harring)

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
from optparse import OptionParser
23
23
 
24
24
from paste import httpserver
25
 
from paste.httpexceptions import HTTPExceptionHandler, HTTPInternalServerError
 
25
from paste.httpexceptions import HTTPExceptionHandler
26
26
from paste.translogger import TransLogger
27
27
 
28
28
from loggerhead import __version__
116
116
    logfile.setLevel(logging.DEBUG)
117
117
    logger.addHandler(logfile)
118
118
    # setup_logging() #end
 
119
    app = ErrorHandlerApp(app)
 
120
    app = HTTPExceptionHandler(app)
119
121
    app = TransLogger(app, logger=logger)
120
122
    if options.profile:
121
123
        from loggerhead.middleware.profile import LSProfMiddleware
129
131
    try:
130
132
        from paste.deploy.config import PrefixMiddleware
131
133
    except ImportError:
132
 
        cant_proxy_correctly_message = (
133
 
            'Unsupported configuration: PasteDeploy not available, but '
134
 
            'loggerhead appears to be behind a proxy.')
135
 
        def check_not_proxied(app):
136
 
            def wrapped(environ, start_response):
137
 
                if 'HTTP_X_FORWARDED_SERVER' in environ:
138
 
                    exc = HTTPInternalServerError()
139
 
                    exc.explanation = cant_proxy_correctly_message
140
 
                    raise exc
141
 
                return app(environ, start_response)
142
 
            return wrapped
143
 
        app = check_not_proxied(app)
 
134
        pass
144
135
    else:
145
136
        app = PrefixMiddleware(app, prefix=prefix)
146
137
 
147
 
    app = ErrorHandlerApp(app)
148
 
    app = HTTPExceptionHandler(app)
149
 
 
150
138
    if not options.user_port:
151
139
        port = '8080'
152
140
    else: