mirror of
https://github.com/JonathanHerrewijnen/calibre-web.git
synced 2024-11-13 14:44:20 +00:00
bbf6d9b026
Bugfix for feeds - removed categories related and up - load new books now working - category random now working login page is free of non accessible elements boolean custom column is vivible in UI books with only with certain languages can be shown book shelfs can be deleted from UI Anonymous user view is more resticted Added browse of series in sidebar Dependencys in vendor folder are updated to newer versions (licencs files are now present) Bugfix editing Authors names Made upload on windows working
42 lines
1.3 KiB
Python
42 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
werkzeug.contrib.limiter
|
|
~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
A middleware that limits incoming data. This works around problems with
|
|
Trac_ or Django_ because those directly stream into the memory.
|
|
|
|
.. _Trac: http://trac.edgewall.org/
|
|
.. _Django: http://www.djangoproject.com/
|
|
|
|
:copyright: (c) 2014 by the Werkzeug Team, see AUTHORS for more details.
|
|
:license: BSD, see LICENSE for more details.
|
|
"""
|
|
from warnings import warn
|
|
|
|
from werkzeug.wsgi import LimitedStream
|
|
|
|
|
|
class StreamLimitMiddleware(object):
|
|
|
|
"""Limits the input stream to a given number of bytes. This is useful if
|
|
you have a WSGI application that reads form data into memory (django for
|
|
example) and you don't want users to harm the server by uploading tons of
|
|
data.
|
|
|
|
Default is 10MB
|
|
|
|
.. versionchanged:: 0.9
|
|
Deprecated middleware.
|
|
"""
|
|
|
|
def __init__(self, app, maximum_size=1024 * 1024 * 10):
|
|
warn(DeprecationWarning('This middleware is deprecated'))
|
|
self.app = app
|
|
self.maximum_size = maximum_size
|
|
|
|
def __call__(self, environ, start_response):
|
|
limit = min(self.maximum_size, int(environ.get('CONTENT_LENGTH') or 0))
|
|
environ['wsgi.input'] = LimitedStream(environ['wsgi.input'], limit)
|
|
return self.app(environ, start_response)
|