Simple forum software for building great communities.
Go to file
Franz Liedke 1e5c7e54ee 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.
2020-02-04 22:37:24 +01: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 c5122bf5d5 [skip ci] 2020-02-04 22:37:24 +01:00
less Updated names to match components in fontawsome (#1791) 2019-06-11 20:17:59 +02:00
migrations Apply fixes from StyleCI 2020-02-04 21:11:08 +00:00
src Implement new error handling stack 2020-02-04 22:37:24 +01:00
stubs/migrations Remove extension generator 2016-10-04 23:26:03 +03:30
tests Bypass CSRF token check when using access tokens 2020-02-04 22:37:24 +01:00
views Apply fixes from StyleCI 2020-02-04 21:11:08 +00:00
.deploy.enc Webpack (#1367) 2018-06-20 13:20:31 +09:30
.editorconfig part one of adding tests, updating core 2018-04-13 07:13:10 +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 2020-02-04 22:37:24 +01: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.