framework/framework/core
Franz Liedke 11e76b1965 Implement new error handling stack
This separates the error registry (mapping exception types to status
codes) from actual handling (the middleware) as well as error formatting
(Whoops, pretty error pages or JSON-API?) and reporting (log? Sentry?).

The components can be reused in different places (e.g. the API client
and the error handler middleware both need the registry to understand
all the exceptions Flarum knows how to handle), while still allowing to
change only the parts that need to change (the API stack always uses the
JSON-API formatter, and the forum stack switches between Whoops and
pretty error pages based on debug mode).

Finally, this paves the way for some planned features and extensibility:
- A console error handler can build on top of the registry.
- Extensions can register new exceptions and how to handle them.
- Extensions can change how we report exceptions (e.g. Sentry).
- We can build more pretty error pages, even different ones for
  exceptions having the same status code.
2019-08-10 00:26:22 +02:00
..
.github Issue templates: Remove vulnerability information 2019-07-06 00:08:55 +02:00
.travis Checkout the branch before committing 2018-06-20 14:47:37 +09:30
js Bundled output for commit 1702929079 [skip ci] 2019-08-08 23:12:56 +00:00
less Updated names to match components in fontawsome (#1791) 2019-06-11 20:17:59 +02:00
migrations fixes #1801, increasing the size of posts.content to mediumText correctly 2019-06-24 14:53:56 +02:00
src Implement new error handling stack 2019-08-10 00:26:22 +02:00
stubs/migrations Remove extension generator 2016-10-04 23:26:03 +03:30
tests Bypass CSRF token check when using access tokens 2019-08-01 22:53:31 +02:00
views removed link to home, go back, which is always the case with csrf token invalidation 2019-06-24 10:49:31 +02:00
.deploy.enc Webpack (#1367) 2018-06-20 13:20:31 +09:30
.editorconfig Improved foundational backend unit tests (#1405) 2018-04-17 11:15:28 +02:00
.gitattributes Webpack (#1367) 2018-06-20 13:20:31 +09:30
.gitignore Move integration tests to separate directory 2019-02-01 19:01:12 +01:00
.styleci.yml Update StyleCI rules 2016-11-16 15:47:12 +10:30
.travis.yml fixed ci, make green again; mysql service wasnt booted 2019-07-27 22:24:39 +02:00
CHANGELOG.md Update Application version string to beta 9 (#1784) 2019-07-05 12:37:02 +02:00
composer.json Update test libraries 2019-07-06 01:49:55 +02:00
LICENSE Remove copyright year from LICENSE 2018-11-21 18:24:59 +10:30
README.md Clearer delineation of installation pointer 2018-11-22 18:37:00 +10:30

Build Status Total Downloads Latest Stable Version License

About Flarum

Flarum is a delightfully simple discussion platform for your website. It's fast and easy to use, with all the features you need to run a successful community. It is designed to be:

  • Fast and simple. No clutter, no bloat, no complex dependencies. Flarum is built with PHP so its quick and easy to deploy. The interface is powered by Mithril, a performant JavaScript framework with a tiny footprint.

  • Beautiful and responsive. This is forum software for humans. Flarum is carefully designed to be consistent and intuitive across platforms, out-of-the-box.

  • Powerful and extensible. Customize, extend, and integrate Flarum to suit your community. Flarums architecture is amazingly flexible, with a powerful Extension API.

Installation

This repository contains Flarum's core code. If you want to set up a forum, visit the Flarum skeleton repository.

Contributing

Thank you for considering contributing to Flarum! Please read the Contributing guide to learn how you can help.

Security Vulnerabilities

If you discover a security vulnerability within Flarum, please send an e-mail to security@flarum.org. All security vulnerabilities will be promptly addressed.

License

Flarum is open-source software licensed under the MIT License.