{"id":28176108,"url":"https://github.com/xiaojianzhong/gokoa","last_synced_at":"2026-05-01T16:34:22.490Z","repository":{"id":57517938,"uuid":"243811005","full_name":"xiaojianzhong/gokoa","owner":"xiaojianzhong","description":"Koa styled web framework written in Go.","archived":false,"fork":false,"pushed_at":"2022-05-24T17:18:46.000Z","size":47,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-19T14:46:11.750Z","etag":null,"topics":["golang","koa","nodejs","webframework"],"latest_commit_sha":null,"homepage":"https://pkg.go.dev/github.com/xiaojianzhong/gokoa","language":"Go","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/xiaojianzhong.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-28T16:50:51.000Z","updated_at":"2022-05-22T07:45:28.000Z","dependencies_parsed_at":"2022-09-26T18:01:33.936Z","dependency_job_id":null,"html_url":"https://github.com/xiaojianzhong/gokoa","commit_stats":null,"previous_names":["azxj/gokoa"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xiaojianzhong/gokoa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaojianzhong%2Fgokoa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaojianzhong%2Fgokoa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaojianzhong%2Fgokoa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaojianzhong%2Fgokoa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiaojianzhong","download_url":"https://codeload.github.com/xiaojianzhong/gokoa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaojianzhong%2Fgokoa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32505106,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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":["golang","koa","nodejs","webframework"],"created_at":"2025-05-16T00:15:07.005Z","updated_at":"2026-05-01T16:34:22.470Z","avatar_url":"https://github.com/xiaojianzhong.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GoKoa\n\n![GitHub Workflow Status](https://img.shields.io/github/workflow/status/xiaojianzhong/gokoa/Golang)\n![GitHub repo size](https://img.shields.io/github/repo-size/xiaojianzhong/gokoa)\n![GitHub last commit](https://img.shields.io/github/last-commit/xiaojianzhong/gokoa)\n![GitHub](https://img.shields.io/github/license/xiaojianzhong/gokoa)\n\n[Koa][koa] styled web framework written in Go.\n\nRead this in other languages: English | [简体中文](./README_zh-CN.md)\n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [Prerequisites](#prerequisites)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [What Are NOT Implemented](#what-are-not-implemented)\n- [Documentation](#documentation)\n  - [`Application`](#application)\n  - [`Context`](#context)\n  - [`Request`](#request)\n  - [`Response`](#response)\n- [Development](#development)\n  - [How to Test](#how-to-test)\n\n## \u003ca name=\"introduction\"\u003e\u003c/a\u003e Introduction\n\n[GoKoa](gokoa) is a Koa styled web framework, which aims at reducing learning cost in grasping web development in Go for Node.js developers.\n\nGoKoa is written in Go, which is beneficial to improving performance in handling HTTP requests.\n\n## \u003ca name=\"prerequisites\"\u003e\u003c/a\u003e Prerequisites\n\n1. [Go](go) \u003e= 1.13\n\n## \u003ca name=\"installation\"\u003e\u003c/a\u003e Installation\n\nYou can easily fetch the newest version of GoKoa by executing `go get`:\n\n```bash\n$ go get github.com/xiaojianzhong/gokoa\n```\n\n## \u003ca name=\"quick-start\"\u003e\u003c/a\u003e Quick Start\n\n```go\npackage main\n\nimport (\n\t\"github.com/xiaojianzhong/gokoa\"\n)\n\nfunc main() {\n\tapp := gokoa.NewApplication(nil)\n\n\tapp.Use(func(ctx *gokoa.Context, fn func() error) error {\n\t\tctx.SetBody(\"hello gokoa\")\n\t\treturn nil\n\t})\n\n\tapp.Listen(8080)\n}\n```\n\n## \u003ca name=\"what-are-not-implemented\"\u003e\u003c/a\u003e What Are NOT Implemented\n\n1. lack of event emitting, except for `app.OnError()`\n2. not able to customize HTTP reason phrase (don't do that cause it breaks the best practice)\n3. not able to bypass GoKoa's response handling (actually it is deprecated by Koa, too)\n4. not able to access the socket related to a HTTP connection\n5. lack of `headerSent` property\n\n## \u003ca name=\"documentation\"\u003e\u003c/a\u003e Documentation\n\n### \u003ca name=\"application\"\u003e\u003c/a\u003e `Application`\n\n### \u003ca name=\"context\"\u003e\u003c/a\u003e `Context`\n\n### \u003ca name=\"request\"\u003e\u003c/a\u003e `Request`\n\n### \u003ca name=\"response\"\u003e\u003c/a\u003e `Response`\n\n## \u003ca name=\"development\"\u003e\u003c/a\u003e Development\n\n### \u003ca name=\"how-to-test\"\u003e\u003c/a\u003e How To Test\n\nYou can easily run unit tests by executing `go test`:\n\n```bash\n$ go test github.com/xiaojianzhong/gokoa\n```\n\n[koa]: https://github.com/koajs/koa\n[go]: https://golang.org/\n[gokoa]: https://github.com/xiaojianzhong/gokoa\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaojianzhong%2Fgokoa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaojianzhong%2Fgokoa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaojianzhong%2Fgokoa/lists"}