~loggerhead-team/loggerhead/trunk-rich

« back to all changes in this revision

Viewing changes to serve-branches

  • Committer: Martin Albisetti
  • Date: 2008-12-22 19:33:12 UTC
  • Revision ID: argentina@gmail.com-20081222193312-b5ql8ksk75rqgxbb
Updated NEWS

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
 
22
22
from optparse import OptionParser
23
23
 
24
 
from bzrlib.plugin import load_plugins
25
 
 
26
24
from paste import httpserver
27
 
from paste.httpexceptions import HTTPExceptionHandler, HTTPInternalServerError
 
25
from paste.httpexceptions import HTTPExceptionHandler
28
26
from paste.translogger import TransLogger
29
27
 
30
28
from loggerhead import __version__
50
48
                            "(defaults to 8080)."))
51
49
    parser.add_option("--host", dest="user_host",
52
50
                      help="Host Loggerhead should listen on.")
53
 
    parser.add_option('--memory-profile', action='store_true',
54
 
                      dest='memory_profile',
55
 
                      help='Profile the memory usage using heapy.')
56
51
    parser.add_option("--prefix", dest="user_prefix",
57
52
                      help="Specify host prefix.")
58
53
    parser.add_option("--profile", action="store_true", dest="profile",
120
115
    logfile.setFormatter(formatter)
121
116
    logfile.setLevel(logging.DEBUG)
122
117
    logger.addHandler(logfile)
123
 
 
124
 
    memprofile = logging.getLogger('loggerhead-memprofile')
125
 
    memprofile.setLevel(logging.DEBUG)
126
 
    memprofile.addHandler(logging.FileHandler('loggerhead-memprofile'))
127
 
 
128
118
    # setup_logging() #end
129
 
 
 
119
    app = ErrorHandlerApp(app)
 
120
    app = HTTPExceptionHandler(app)
130
121
    app = TransLogger(app, logger=logger)
131
122
    if options.profile:
132
123
        from loggerhead.middleware.profile import LSProfMiddleware
133
124
        app = LSProfMiddleware(app)
134
 
    if options.memory_profile:
135
 
        from loggerhead.middleware.profile import MemoryProfileMiddleware
136
 
        app = MemoryProfileMiddleware(app)
137
125
 
138
126
    if not options.user_prefix:
139
127
        prefix = '/'
140
128
    else:
141
129
        prefix = options.user_prefix
142
 
        if not prefix.startswith('/'):
143
 
            prefix = '/' + prefix
144
130
 
145
131
    try:
146
132
        from paste.deploy.config import PrefixMiddleware
147
133
    except ImportError:
148
 
        cant_proxy_correctly_message = (
149
 
            'Unsupported configuration: PasteDeploy not available, but '
150
 
            'loggerhead appears to be behind a proxy.')
151
 
        def check_not_proxied(app):
152
 
            def wrapped(environ, start_response):
153
 
                if 'HTTP_X_FORWARDED_SERVER' in environ:
154
 
                    exc = HTTPInternalServerError()
155
 
                    exc.explanation = cant_proxy_correctly_message
156
 
                    raise exc
157
 
                return app(environ, start_response)
158
 
            return wrapped
159
 
        app = check_not_proxied(app)
 
134
        pass
160
135
    else:
161
136
        app = PrefixMiddleware(app, prefix=prefix)
162
137
 
163
 
    app = HTTPExceptionHandler(app)
164
 
    app = ErrorHandlerApp(app)
165
 
 
166
138
    if not options.user_port:
167
139
        port = '8080'
168
140
    else:
173
145
    else:
174
146
        host = options.user_host
175
147
 
176
 
    load_plugins()
177
 
 
178
148
    httpserver.serve(app, host=host, port=port)
179
149
 
180
150