{"id":13507966,"url":"https://github.com/absinthe-graphql/absinthe_plug","last_synced_at":"2025-05-14T02:09:01.363Z","repository":{"id":3220556,"uuid":"48772965","full_name":"absinthe-graphql/absinthe_plug","owner":"absinthe-graphql","description":"Plug support for Absinthe, the GraphQL toolkit for Elixir","archived":false,"fork":false,"pushed_at":"2025-05-02T13:32:55.000Z","size":519,"stargazers_count":263,"open_issues_count":19,"forks_count":172,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-05-02T14:24:20.250Z","etag":null,"topics":["absinthe","absinthe-graphql","graphiql","graphql","phoenix","plug"],"latest_commit_sha":null,"homepage":"https://hex.pm/packages/absinthe_plug","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/absinthe-graphql.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-12-30T00:20:11.000Z","updated_at":"2025-05-02T13:31:48.000Z","dependencies_parsed_at":"2024-11-06T00:04:06.934Z","dependency_job_id":"dcde784c-bb0b-4d62-971e-a84ea5a70d14","html_url":"https://github.com/absinthe-graphql/absinthe_plug","commit_stats":{"total_commits":367,"total_committers":64,"mean_commits":5.734375,"dds":0.6784741144414169,"last_synced_commit":"3a984cc341ebb32c79e7ae58b4ebd116d5c62f9e"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absinthe-graphql%2Fabsinthe_plug","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absinthe-graphql%2Fabsinthe_plug/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absinthe-graphql%2Fabsinthe_plug/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/absinthe-graphql%2Fabsinthe_plug/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/absinthe-graphql","download_url":"https://codeload.github.com/absinthe-graphql/absinthe_plug/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254053216,"owners_count":22006717,"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","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":["absinthe","absinthe-graphql","graphiql","graphql","phoenix","plug"],"created_at":"2024-08-01T02:00:44.430Z","updated_at":"2025-05-14T02:08:56.348Z","avatar_url":"https://github.com/absinthe-graphql.png","language":"Elixir","funding_links":[],"categories":["Framework Components","Running the update"],"sub_categories":["By Popularity"],"readme":"# Absinthe.Plug\n\n[![Build Status](https://github.com/absinthe-graphql/absinthe_plug/workflows/CI/badge.svg)](https://github.com/absinthe-graphql/absinthe_plug/actions?query=workflow%3ACI)\n[![Version](https://img.shields.io/hexpm/v/absinthe_plug.svg)](https://hex.pm/packages/absinthe_plug)\n[![Hex Docs](https://img.shields.io/badge/hex-docs-lightgreen.svg)](https://hexdocs.pm/absinthe_plug/)\n[![Download](https://img.shields.io/hexpm/dt/absinthe_plug.svg)](https://hex.pm/packages/absinthe_plug)\n[![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![Last Updated](https://img.shields.io/github/last-commit/absinthe-graphql/absinthe_plug.svg)](https://github.com/absinthe-graphql/absinthe_plug/commits/master)\n\n[Plug](https://hex.pm/packages/plug) support for [Absinthe](https://hex.pm/packages/absinthe),\nthe GraphQL toolkit for Elixir.\n\nPlease see the website at [http://absinthe-graphql.org](http://absinthe-graphql.org).\n\n## Installation\n\nInstall from [Hex.pm](https://hex.pm/packages/absinthe_plug):\n\n```elixir\ndef deps do\n  [{:absinthe_plug, \"~\u003e 1.5\"}]\nend\n```\n\nNote: Absinthe.Plug requires Elixir 1.10 or higher.\n\n`Absinthe.Plug` also requires a JSON codec. `Jason` and `Poison` work out of the box.\n\n```elixir\ndef deps do\n  [\n    ...,\n    {:absinthe_plug, \"~\u003e 1.5\"},\n    {:jason, \"~\u003e 1.0\"}\n  ]\nend\n```\n\n## Upgrading\n\nSee [CHANGELOG](./CHANGELOG.md) for upgrade steps between versions.\n\nYou may want to look for the specific upgrade guide in the [Absinthe documentation](https://hexdocs.pm/absinthe).\n\n## Documentation\n\nSee \"Usage,\" below, for basic usage information and links to specific resources.\n\n- [Absinthe.Plug hexdocs](https://hexdocs.pm/absinthe_plug).\n- For the tutorial, guides, and general information about Absinthe-related\n  projects, see [http://absinthe-graphql.org](http://absinthe-graphql.org).\n\n## Related Projects\n\nSee the [GitHub organization](https://github.com/absinthe-graphql).\n\n## Usage\n\nIn your `MyAppWeb.Router` module add:\n\n```elixir\nplug Plug.Parsers,\n  parsers: [:urlencoded, :multipart, :json, Absinthe.Plug.Parser],\n  pass: [\"*/*\"],\n  json_decoder: Jason\n\nplug Absinthe.Plug,\n  schema: MyAppWeb.Schema\n```\n\nIf you want `Absinthe.Plug` to serve only a particular route, configure your\n`MyAppWeb.Router` like:\n\n```elixir\nplug Plug.Parsers,\n  parsers: [:urlencoded, :multipart, :json, Absinthe.Plug.Parser],\n  pass: [\"*/*\"],\n  json_decoder: Jason\n\nforward \"/api\",\n  to: Absinthe.Plug,\n  init_opts: [schema: MyAppWeb.Schema]\n```\n\nFor more information, see the API documentation for `Absinthe.Plug`.\n\n### Phoenix.Router\n\nIf you are using [Phoenix.Router](https://hexdocs.pm/phoenix/Phoenix.Router.html), `forward` expects different arguments:\n\n#### Plug.Router\n\n```elixir\nforward \"/graphiql\",\n  to: Absinthe.Plug.GraphiQL,\n  init_opts: [\n    schema: MyAppWeb.Schema,\n    interface: :simple\n  ]\n```\n\n#### Phoenix.Router\n\n```elixir\nforward \"/graphiql\",\n  Absinthe.Plug.GraphiQL,\n  schema: MyAppWeb.Schema,\n  interface: :simple\n```\n\nFor more information see [Phoenix.Router.forward/4](https://hexdocs.pm/phoenix/Phoenix.Router.html#forward/4).\n\n\n## GraphiQL\n\nTo add support for a GraphiQL interface, add a configuration for\n`Absinthe.Plug.GraphiQL`:\n\n```elixir\nforward \"/graphiql\",\n  to: Absinthe.Plug.GraphiQL,\n  init_opts: [schema: MyAppWeb.Schema]\n```\n\nSee the API documentation for `Absinthe.Plug.GraphiQL` for more information.\n\n## Community\n\nThe project is under constant improvement by a growing list of\ncontributors, and your feedback is important. Please join us in Slack\n(`#absinthe-graphql` under the Elixir Slack account) or the Elixir Forum\n(tagged `absinthe`).\n\nPlease remember that all interactions in our official spaces follow\nour [Code of Conduct](./CODE_OF_CONDUCT.md).\n\n## Contributing\n\nPlease follow [contribution guide](./CONTRIBUTING.md).\n\n## License\n\nSee [LICENSE.md](./LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabsinthe-graphql%2Fabsinthe_plug","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabsinthe-graphql%2Fabsinthe_plug","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabsinthe-graphql%2Fabsinthe_plug/lists"}