{"id":15456916,"url":"https://github.com/expede/phoenix_exceptional","last_synced_at":"2025-08-30T09:34:12.887Z","repository":{"id":57531956,"uuid":"76917211","full_name":"expede/phoenix_exceptional","owner":"expede","description":"Exceptional error/exception helpers for Phoenix","archived":false,"fork":false,"pushed_at":"2016-12-21T20:53:41.000Z","size":11,"stargazers_count":8,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-05T21:36:39.714Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/expede.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-20T02:53:01.000Z","updated_at":"2021-09-21T23:40:56.000Z","dependencies_parsed_at":"2022-09-07T01:01:26.988Z","dependency_job_id":null,"html_url":"https://github.com/expede/phoenix_exceptional","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/expede/phoenix_exceptional","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/expede%2Fphoenix_exceptional","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/expede%2Fphoenix_exceptional/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/expede%2Fphoenix_exceptional/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/expede%2Fphoenix_exceptional/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/expede","download_url":"https://codeload.github.com/expede/phoenix_exceptional/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/expede%2Fphoenix_exceptional/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272833298,"owners_count":25000870,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-30T02:00:09.474Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T22:40:49.180Z","updated_at":"2025-08-30T09:34:12.869Z","avatar_url":"https://github.com/expede.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Phoenix/Exceptional\n\n[Exceptional](https://hex.pm/packages/exceptional) error/exception helpers for [Phoenix](http://www.phoenixframework.org)\n\n[![Build Status](https://travis-ci.org/expede/phoenix_exceptional.svg?branch=master)](https://travis-ci.org/expede/phoenix_exceptional) [![Inline docs](http://inch-ci.org/github/expede/phoenix_exceptional.svg?branch=master)](http://inch-ci.org/github/expede/phoenix_exceptional) [![Deps Status](https://beta.hexfaktor.org/badge/all/github/expede/phoenix_exceptional.svg)](https://beta.hexfaktor.org/github/expede/phoenix_exceptional) [![hex.pm version](https://img.shields.io/hexpm/v/phoenix_exceptional.svg?style=flat)](https://hex.pm/packages/phoenix_exceptional) [![API Docs](https://img.shields.io/badge/api-docs-yellow.svg?style=flat)](http://hexdocs.pm/phoenix_exceptional/) [![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://github.com/expede/phoenix_exceptional/blob/master/LICENSE)\n\n## Installation\n\nAdd `phoenix_exceptional` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [{:phoenix_exceptional, \"~\u003e 1.0\"}]\nend\n```\n\n## Views\n\nAutomated rendering of error views based on the `message` field on exception structs.\nThis is often sufficient for simple JSON cases and pre-release HTML. It is recommended to write custom error views before production to give your users as much detail as possible in the user friendliest way that their content type allows.\n\n```elixir\n# /web/views/error_view.ex\n\ndefmodule AwesomeApp.ErrorView do\n  use Phoenix.Exceptional\n\n  defrender :error, for: 401, do: \"Not authorized\"\n  defrender :error, for: 404, only: [:json], do: \"Data not found\"\n  defrender :error, for: 422, except: [:html] do: \"Unprocessible entity\"\n  defrender :error, for: 500, do: \"Server internal error\"\nend\n```\n\n```bash\n# Example JSON Error Response\n\n404 %{error: \"Data not found\", reason: \"Photo deleted\"}\n\n# Example HTML Error Response\n\n500 \"Server internal error\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpede%2Fphoenix_exceptional","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexpede%2Fphoenix_exceptional","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpede%2Fphoenix_exceptional/lists"}