{"id":37141245,"url":"https://github.com/theyakka/goro","last_synced_at":"2026-01-14T16:34:03.762Z","repository":{"id":57495451,"uuid":"49255202","full_name":"theyakka/goro","owner":"theyakka","description":"A mighty damn fine router for Go","archived":true,"fork":false,"pushed_at":"2020-02-01T02:00:34.000Z","size":199,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-08-14T03:16:15.326Z","etag":null,"topics":["go","golang","http","routers","web-application-framework"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/theyakka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-08T06:48:47.000Z","updated_at":"2024-06-18T15:59:35.000Z","dependencies_parsed_at":"2022-08-31T12:52:33.273Z","dependency_job_id":null,"html_url":"https://github.com/theyakka/goro","commit_stats":null,"previous_names":["goposse/goro"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/theyakka/goro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theyakka%2Fgoro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theyakka%2Fgoro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theyakka%2Fgoro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theyakka%2Fgoro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/theyakka","download_url":"https://codeload.github.com/theyakka/goro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/theyakka%2Fgoro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28426078,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T16:32:27.303Z","status":"ssl_error","status_checked_at":"2026-01-14T16:28:36.419Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["go","golang","http","routers","web-application-framework"],"created_at":"2026-01-14T16:34:03.215Z","updated_at":"2026-01-14T16:34:03.753Z","avatar_url":"https://github.com/theyakka.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n\u003cimg src=\"https://storage.googleapis.com/product-logos/logo_goro.png\" align=\"center\" width=\"160\"\u003e\n\nGoro is a mighty fine routing toolkit for Go web applications. It is designed to\nbe fast, yet flexible.\n\n[![CircleCI](https://circleci.com/gh/theyakka/goro.svg?style=svg)](https://circleci.com/gh/theyakka/goro)\n[![Go Version](https://img.shields.io/badge/Go-1.11+-lightgrey.svg)](https://golang.org/)\n[![codecov](https://codecov.io/gh/theyakka/goro/branch/master/graph/badge.svg)](https://codecov.io/gh/theyakka/goro)\n\n\n# Features\n\nGoro is LOADED with features, but no bloat.\n\n- Straightforward context handling / management\n- Flexible routing options with **wildcards** and **variables**\n- Prioritized route definitions with caching\n- Pre and Post execution `Filter`s to modify `Request` or `HandlerContext` objects or to perform post-execution logic if embedding.\n- Static asset mapping\n- Support for subdomains\n- Handler chaining built-in\n\n# Installing\n\nTo install, run:\n\n```\ngo get -u github.com/theyakka/goro\n```\n\nYou can then import goro using:\n\n```\nimport github.com/theyakka/goro\n```\n\n# Getting started\n\nSetting up a basic router would look something like the following.\n\nIn your `main/server.go` file you would create a `Router` instance, configure a basic route, and then pass the router to `http.ListenAndServe` as a handler. \n\n```go\npackage main\n\nfunc startServer() {\n\trouter := goro.NewRouter()\n\trouter.GET(\"/\").Handle(handlers.RootHandler)\n\tlog.Fatal(http.ListenAndServe(\":8080\", router))\n}\n```\n\nThen in your `handlers` package (or where you define your routes) you would set up your `RootHandler` function.\n\n```go\npackage handlers\n\nfunc RootHandler(ctx *goro.HandlerContext) {\n\t// do something here\n}\n``` \n\nThat's just a quick intro. However, Goro has so much more packed in. Rather\nthan try to describe it all here, you should check out [The Goro Guide](https://github.com/theyakka/goro/wiki).\n\nWe recommend using the latest version of Go.\n\n# FAQ\n\n## Why should I use this and not ____?\n\nI'm not going to make any claims that Goro is the fastest router on the market or that it'll make you a million bucks. The likelihood is that even if those were true for you, they might not be for others.\n\nWhat we *will* say is that we have tried A LOT of web frameworks over many languages and that we invested in making Goro out of unhappiness with what we saw generally. If you're here, then maybe you have also.\n\nGoro was designed from the ground up as a Router that we wanted to use and not to copy anyone else. It has the features we think are important, and is architected in a way that we think makes managing all this stuff super simple.\n\nGive it a try and if you like it, let us know! Either way, we love feedback.\n\n## Has it been tested in production? Can I use it in production?\n\nThe code here has been written based on experiences with clients of all sizes. It has been production tested. That said, code is always evolving. We plan to keep on using it in production but we also plan to keep on improving it. If you find a bug, let us know!\n\n## Who the f*ck is Yakka?\n\nYakka is the premier Flutter agency and a kick-ass product company. We focus on the work. Our stuff is at [http://theyakka.com](http://theyakka.com). Go check it out.\n\n# Outro\n\n## Credits\n\nGoro is sponsored, owned and maintained by [Yakka LLC](http://theyakka.com). Feel free to reach out with suggestions, ideas or to say hey.\n\n### Security\n\nIf you believe you have identified a serious security vulnerability or issue with Goro, please report it as soon as possible to apps@theyakka.com. Please refrain from posting it to the public issue tracker so that we have a chance to address it and notify everyone accordingly.\n\n## License\n\nGoro is released under a modified MIT license. See LICENSE for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheyakka%2Fgoro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftheyakka%2Fgoro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftheyakka%2Fgoro/lists"}