summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* update README.md linksHEADmasterclavedeluna2022-09-051-3/+3
|
* Update fapws linkSagar Giri2022-09-051-1/+1
| | | My oh my. Thank goodness I clicked this link while I was at my home had I been in the office space, it would be disastrous.
* Change `make test` to use pytest version from venvMarcel Hellkamp2022-09-051-2/+2
|
* update makefile to use pytest instead of unittestclavedeluna2022-09-051-3/+3
|
* updated web links for pythonpaste and cherrypy projectsAlexej Simakov2022-08-033-6/+6
|
* fix #1356: JSONPlugin obscures tracebackMarcel Hellkamp2022-08-031-0/+1
|
* cleanup: Simplified inspect.getargspec polyfills.Marcel Hellkamp2022-08-031-28/+9
| | | | | | getfullargspec was deprecated in 3.5 and un-deprecated in 3.6, so we can use that and do not need the inspect.signature() based polyfill.
* docs: Improve hooks/CORS recipeMarcel Hellkamp2022-08-031-18/+24
|
* Avoid "ResourceWarning: unclosed file"Marcel Hellkamp2022-06-291-2/+3
| | | | | | | Python implements __del__ for NamedTemporaryFile (with some additional tricks) to make sure these are closed (and unlinked) if they are no longer referenced. This avoids the ResourceWarning you'd normally get if an unclosed file is garbage-collected.
* Modify broken linkakgnah2022-06-211-1/+1
| | | | Signed-off-by: akgnah <1024@setq.me>
* fix: Static file not closed on range requestsMarcel Hellkamp2022-06-141-10/+8
|
* fix: view decorator does not forward default values if route result is NoneMarcel Hellkamp2022-06-121-1/+1
|
* Fix #1378: Module loader should move from find_mdoule to find_spec.Marcel Hellkamp2022-06-121-2/+7
|
* fix #1251: Deprecation warning for imp module.Marcel Hellkamp2022-06-122-4/+6
|
* Merge pull request #1369 from andriyor/patch-1Avelino2022-03-011-0/+3
|\ | | | | add GitHub URL for PyPi
| * add GitHub URL for PyPiAndrii Oriekhov2022-03-011-0/+3
|/
* Fix handling of empty If-Modified-Since header for static filesBraedon Vickers2022-02-022-2/+7
| | | | | | Previously, if the If-Modified-Since header was an empty string it wouldn't be parsed into an int (or None), but would still be compared to the int mtime, causing a TypeError.
* Update bottle.pyKathy Tafel2022-02-021-1/+1
| | | Update to inclusive language. See #1361 for context.
* Fix #1359: check for attribute using hasattrJoris Hartog2022-02-022-1/+4
| | | | | | | This commit fixes a bug where setting an existing, read-only property of a BaseRequest object does not raise an AttributeError. Fixes #1359
* Merge pull request #1365 from pawelborkar/patch-1Avelino2022-01-301-1/+1
|\ | | | | Update the copyright year
| * Update the copyright yearPawel Borkar2022-01-241-1/+1
| |
* | Merge pull request #1364 from mgedmin/patch-1Avelino2022-01-301-1/+1
|\ \ | |/ |/| Typo in docstring
| * Typo in docstringMarius Gedminas2022-01-201-1/+1
|/
* Fix title caseEmil Sadek2021-07-071-2/+2
| | | Change capitalization to title case for consistency.
* Fix: Multipart file uploads with empty filename not detected as binary.Marcel Hellkamp2021-07-071-3/+3
|
* RefactoringMarcel Hellkamp2021-03-271-16/+16
|
* fix #1226: Reloading fails for packages started with `python -m`Marcel Hellkamp2021-03-271-0/+4
|
* refactor.WSGIFileWrapper.__iter__()SergBobrovsky2021-01-011-3/+3
| | | a little clearer
* Deprecated diesel server adapterMarcel Hellkamp2021-01-012-1/+2
|
* Remove cherrypy from tests.Marcel Hellkamp2021-01-011-1/+2
| | | | | The adapter is deprecated, only cherrypy <9 is supported, and that breaks tests for Python 3.9.
* #fix 1244 Attribute Error if sys.stdout/sys.stderr is NoneMarcel Hellkamp2021-01-011-17/+14
|
* Changed __repr__ of RouteMarcel Hellkamp2020-12-311-1/+1
| | | | from <module:name GET /route> to <GET /route -> module:name>
* Fix Docs Import to include routeStephen Daves2020-12-311-1/+1
|
* Fix more typos.Karthikeyan Singaravelan2020-12-311-3/+3
|
* Fix typos in documentation.Karthikeyan Singaravelan2020-12-313-3/+3
|
* Improve __repr__ of RouteOz N Tiram2020-12-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current improvement really helps when using multiple apps. When I start such an application I like logging which routes are available, for example one can do: ``` for r in main_app.routes: print(r) ``` Which previously gave this: ``` <GET '<:re:(de|us)?\\/?>' <function index at 0x7f750fda9670>> <GET '/<:re:(de/|us/)?>hello/<name:path>/<_id:int>/' <function _index_with_param at 0x7f750fda9700>> <GET '/<:re:(de/|us/)?><:re:foo>/' <function _index at 0x7f750fda9820>> <GET '/<:re:(de/|us/)?><url:path>/' <function main at 0x7f750fda9940>> <GET '<:re:(de|us)?\\/?>' <function main at 0x7f750fda9940>> <GET '/admin/login/' <function Auth.get_login_template at 0x7f751061e670>> <POST '/admin/login/' <function Auth.post_login_template at 0x7f751061e700>> <GET '/admin/' <function index at 0x7f750fd21940>> <GET '/editor/' <function editor at 0x7f750f930ca0>> <POST '/editor/template/' <function template_ at 0x7f750f930dc0>> <GET '/editor/preview/<name:path>' <function load_tmp_template at 0x7f750f930ee0>> <POST '/editor/validate-jinja/' <function convert at 0x7f750f937040>> <GET '/static/front/<filepath:path>' <function app_factory.<locals>.server_static at 0x7f750f937af0>> <GET '/static/admin/<filepath:path>' <function app_factory.<locals>.server_static at 0x7f750f937c10>> <GET '/static/editor/<filepath:path>' <function app_factory.<locals>.server_static at 0x7f750f937d30>> ``` Memory addresses are of very little use (I can only tell which route is which because I mount them to different prefixes (e.g. editor, admin, etc.). This also mathes the directory structure on the file system. However, this is not always the case, some times I mount applications without prefix. With the current patch I can immidietly tell where a route is coming from: ``` apps.front.views:index GET <:re:(de|us)?\/?> apps.front.views:_index_with_param GET /<:re:(de/|us/)?>hello/<name:path>/<_id:int>/ apps.front.views:_index GET /<:re:(de/|us/)?><:re:foo>/ apps.front.views:main GET /<:re:(de/|us/)?><url:path>/ apps.front.views:main GET <:re:(de|us)?\/?> tiny.auth:get_login_template GET /admin/login/ tiny.auth:post_login_template POST /admin/login/ apps.admin.views:index GET /admin/ apps.editor.views:editor GET /editor/ apps.editor.views:template_ POST /editor/template/ apps.editor.views:load_tmp_template GET /editor/preview/<name:path> apps.editor.views:convert POST /editor/validate-jinja/ __main__:server_static GET /static/front/<filepath:path> __main__:server_static GET /static/admin/<filepath:path> __main__:server_static GET /static/editor/<filepath:path> ``` I think this little patch might be usefull for others too.
* Fix unicode error in tests for python 2.7Marcel Hellkamp2020-12-311-0/+1
|
* Transifex push/pull and updated makefileMarcel Hellkamp2020-12-31115-4327/+22764
|
* Drop fapws3 and Python 3.5 support.Marcel Hellkamp2020-12-3110-49/+30
| | | | | fapws3 is unmaintained for 3 years and breaks tests. Python 3.5 is end-of-life.
* Don't re-raise critical errors that occur while handling an errorBraedon Vickers2020-12-311-3/+0
| | | | | | | | | | | | | | | | | | This logic was added to satisfy pep-3333, where the error handling section says application authors should "never trap errors raised by start_response when exc_info is being provided". However, this appears to be intended to prevent applications from catching exc_info being re-raised by start_response(), which happens when an application tries to send an error response (includes exc_info), but can't as output has already been written to the client. These exceptions should be thrown up to the server so it can abort the connection, not caught by the application. In this case, the start_response() call in question may be an error response, but it's always the first call to start_response(), so should never re-raise exc_info in this way. As such, the special handling is unnecessary.
* Tests added to pass CIBubaVV2020-12-311-0/+30
| | | | Hope it's enough. Exception raising in wsgi() is covered
* Provide exc_info to start_response() when handling exceptionsBraedon Vickers2020-12-311-1/+8
| | | | | | | | | | | Recommended by pep-3333 to enable middleware to provide exception handling services, e.g. custom exception logging. See https://www.python.org/dev/peps/pep-3333/#error-handling Note that the exc_info is temporarily stored in the environ to pass it up from _handler() to wsgi(), where start_response() is called. There may be a better way to do this, e.g. storing it in the response object.
* Add bottle tools to plugins pageArjoonn Sharma2020-12-311-0/+3
|
* Fix syntax warning over comparison of literals using is.Karthikeyan Singaravelan2020-12-311-2/+2
|
* Adding new pluginalfonsocv122020-12-311-2/+4
|
* fix a broken link to beaker documentation.tatsuya45592020-12-311-1/+1
|
* Add Python3.8 and Python3.9 classifieresOz N Tiram2020-12-311-0/+2
| | | | | This are tested and should work for all users running Python3.8 and Python3.9.
* Drop Python version 3.5Oz N Tiram2020-12-312-3/+2
| | | | This version is EOL since 2020-09-05.
* Drop Python3.4Oz N Tiram2020-12-312-3/+2
| | | | This Python version is EOL since 2019-03-18.
* Don't mutate headers dict passed into static_file()Braedon Vickers2020-12-312-1/+11
| | | | | Mutating the passed in dict can produce unexpected results if the caller re-uses the dict, e.g. uses the same set of headers for multiple files.