All Projects โ†’ brokenhandsio โ†’ Leaf Error Middleware

brokenhandsio / Leaf Error Middleware

Licence: mit
Serve up custom 404 and server error pages for your Vapor App

Programming Languages

swift
15916 projects
swift4
162 projects

Projects that are alternatives of or similar to Leaf Error Middleware

Leaf
๐Ÿƒ An expressive, performant, and extensible templating language built for Swift.
Stars: โœญ 310 (+620.93%)
Mutual labels:  server-side-swift, vapor
Redis
Vapor provider for RediStack
Stars: โœญ 434 (+909.3%)
Mutual labels:  server-side-swift, vapor
Steampress
A Blogging Engine and Platform written in Swift for use with the Vapor Framework
Stars: โœญ 337 (+683.72%)
Mutual labels:  server-side-swift, vapor
postgres-kit
๐Ÿ˜ Non-blocking, event-driven Swift client for PostgreSQL.
Stars: โœญ 125 (+190.7%)
Mutual labels:  vapor, server-side-swift
Vaporuploads
Demonstrating uploads in Vapor 4. Particularly large streaming uploads.
Stars: โœญ 19 (-55.81%)
Mutual labels:  server-side-swift, vapor
Vaporschool
Learn how to build vapor applications from rookie to champion in a constructive way!
Stars: โœญ 259 (+502.33%)
Mutual labels:  server-side-swift, vapor
Swiftybeaver
Convenient & secure logging during development & release in Swift 3, 4 & 5
Stars: โœญ 5,392 (+12439.53%)
Mutual labels:  server-side-swift, vapor
SwiftString
A comprehensive, lightweight string extension for Swift 3.x & 4.0
Stars: โœญ 117 (+172.09%)
Mutual labels:  vapor, server-side-swift
Stacked
Stack traces for Swift on Mac and Linux ๐Ÿ“š
Stars: โœญ 24 (-44.19%)
Mutual labels:  server-side-swift, vapor
Sockets
๐Ÿ”Œ Non-blocking TCP socket layer, with event-driven server and client.
Stars: โœญ 559 (+1200%)
Mutual labels:  server-side-swift, vapor
awesome-vapor
A curated list of Vapor-related awesome projects.
Stars: โœญ 907 (+2009.3%)
Mutual labels:  vapor, server-side-swift
Url Encoded Form
๐Ÿ“ Parse and serialize url-encoded form data with Codable support.
Stars: โœญ 32 (-25.58%)
Mutual labels:  server-side-swift, vapor
template
A Vapor template for convenient and fast scaffolding ๐ŸŽ
Stars: โœญ 33 (-23.26%)
Mutual labels:  vapor, server-side-swift
Jwt
Vapor JWT provider
Stars: โœญ 266 (+518.6%)
Mutual labels:  server-side-swift, vapor
sourcery-templates
Building Vapor projects using meta programming with Sourcery โœจ
Stars: โœญ 24 (-44.19%)
Mutual labels:  vapor, server-side-swift
Swiftserverside Vapor
๐Ÿฆ„ Swift server open source projects based on the Swift 4.1 and Vapor 3 frameworks. (Swift ๆœๅŠก็ซฏๅผ€ๆบ้กน็›ฎ)
Stars: โœญ 588 (+1267.44%)
Mutual labels:  server-side-swift, vapor
bugsnag
Report errors with Bugsnag ๐Ÿ›
Stars: โœญ 37 (-13.95%)
Mutual labels:  vapor, server-side-swift
Stevenson
Stevenson is a Vapor framework designed to build integrations between Slack apps, GitHub, JIRA and CI services (CircleCI).
Stars: โœญ 57 (+32.56%)
Mutual labels:  vapor, server-side-swift
Vapor
๐Ÿ’ง A server-side Swift HTTP web framework.
Stars: โœญ 21,194 (+49188.37%)
Mutual labels:  server-side-swift, vapor
Apicore
Core API functionality (users & teams, passwords, emails, etc) for any service built with Vapor 3
Stars: โœญ 43 (+0%)
Mutual labels:  server-side-swift, vapor

Leaf Error Middleware

Language Build Status Code Coverage MIT License

Leaf Error Middleware is a piece of middleware for Vapor which allows you to return custom 404 and server error pages.

Note that this middleware is designed to be used for Leaf front-end websites only - it should not be used for providing JSON error responses for an API, for example.

Usage

First, add LeafErrorMiddleware as a dependency in your Package.swift file:

dependencies: [
    // ...,
    .package(name: "LeafErrorMiddleware", url: "https://github.com/brokenhandsio/leaf-error-middleware.git", from: "2.0.0")
],
targets: [
    .target(name: "App", dependencies: ["Vapor", ..., "LeafErrorMiddleware"]),
    // ...
]

To use the LeafErrorMiddleware, register the middleware service in configure.swift to your Application's middleware (make sure you import LeafErrorMiddleware at the top):

app.middleware.use(LeafErrorMiddleware())

Make sure it appears before all other middleware to catch errors.

Setting Up

You need to include two Leaf templates in your application:

  • 404.leaf
  • serverError.leaf

When Leaf Error Middleware catches a 404 error, it will return the 404.leaf template. Any other error caught will return the serverError.leaf template. The serverError.leaf template will be passed up to three parameters in its context:

  • status - the status code of the error caught
  • statusMessage - a reason for the status code
  • reason - the reason for the error, if known. Otherwise this won't be passed in.

The 404.leaf template will get a reason parameter in the context if one is known.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].