[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6917":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":27,"readmeContent":28,"aiSummary":29,"trendingCount":15,"starSnapshotCount":15,"syncStatus":30,"lastSyncTime":31,"discoverSource":32},6917,"swifter","httpswift\u002Fswifter","httpswift","Tiny http server engine written in Swift programming language.",null,"Swift",4016,553,95,109,0,4,30.23,"BSD 3-Clause \"New\" or \"Revised\" License",false,"stable",true,[23,24,25,26],"http","server","swift","web","2026-06-12 02:01:32","![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatform-Linux%20&%20OSX%20&%20tvOS-4BC51D.svg?style=flat)\n![Swift](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSwift-4.x,_5.0-4BC51D.svg?style=flat)\n![Protocols](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FProtocols-HTTP%201.1%20&%20WebSockets-4BC51D.svg?style=flat)\n[![CocoaPods](https:\u002F\u002Fimg.shields.io\u002Fcocoapods\u002Fv\u002FSwifter.svg?style=flat)](https:\u002F\u002Fcocoapods.org\u002Fpods\u002FSwifter)\n[![Carthage Compatible](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FCarthage-compatible-4BC51D.svg?style=flat)](https:\u002F\u002Fgithub.com\u002FCarthage\u002FCarthage)\n\n### What is Swifter?\n\nTiny http server engine written in [Swift](https:\u002F\u002Fdeveloper.apple.com\u002Fswift\u002F) programming language.\n\n### Branches\n`* stable` - lands on CocoaPods and others. Supports the latest non-beta Xcode and SPM. Stable.\n\n`* master` - stable branch plus experimental web-framework layer.\n\n`* 2.0   ` - next version of Swifter (async IO). Experimental.\n\n\n### How to start?\n```swift\nlet server = HttpServer()\nserver[\"\u002Fhello\"] = { .ok(.htmlBody(\"You asked for \\($0)\"))  }\nserver.start()\n```\n\n### How to load HTML by string?\n```swift\nlet server = HttpServer()\nserver[path] = { request in\n    return HttpResponse.ok(.text(\"\u003Chtml string>\"))\n}\nserver.start()\n```\n\n### How to share files?\n```swift\nlet server = HttpServer()\nserver[\"\u002Fdesktop\u002F:path\"] = shareFilesFromDirectory(\"\u002FUsers\u002Fme\u002FDesktop\")\nserver.start()\n```\n### How to redirect?\n```swift\nlet server = HttpServer()\nserver[\"\u002Fredirect\"] = { request in\n  return .movedPermanently(\"http:\u002F\u002Fwww.google.com\")\n}\nserver.start()\n```\n### How to HTML ?\n```swift\nlet server = HttpServer()\nserver[\"\u002Fmy_html\"] = scopes { \n  html {\n    body {\n      h1 { inner = \"hello\" }\n    }\n  }\n}\nserver.start()\n```\n### How to WebSockets ?\n```swift\nlet server = HttpServer()\nserver[\"\u002Fwebsocket-echo\"] = websocket(text: { session, text in\n  session.writeText(text)\n}, binary: { session, binary in\n  session.writeBinary(binary)\n})\nserver.start()\n```\n### CocoaPods? Yes.\n```ruby\nuse_frameworks!\n\npod 'Swifter', '~> 1.5.0'\n```\n\n### Carthage? Also yes.\n```\ngithub \"httpswift\u002Fswifter\" ~> 1.5.0\n```\n\n### Swift Package Manager.\n```swift\nimport PackageDescription\n\nlet package = Package(\n    name: \"MyServer\",\n    dependencies: [\n        .package(url: \"https:\u002F\u002Fgithub.com\u002Fhttpswift\u002Fswifter.git\", .upToNextMajor(from: \"1.5.0\"))\n    ]\n)\n```\n\n### Docker.\n```\ndocker run -d -p 9080:9080 -v `pwd`:\u002FSwifter -w \u002FSwifter --name Swifter swift bash -c \"swift run\"\n```\n\n","Swifter 是一个用 Swift 编写的轻量级 HTTP 服务器引擎。它支持 HTTP 1.1 和 WebSocket 协议，提供了简洁的 API 来处理路由、文件共享、重定向以及 WebSocket 通信等功能。项目采用 BSD 3-Clause 许可证，并且可以通过 CocoaPods、Carthage 或者 Swift Package Manager 方便地集成到 Swift 项目中。Swifter 适用于需要快速搭建小型 Web 服务或者进行本地开发测试的场景，特别是在 macOS、Linux 以及 tvOS 平台上使用时表现出色。",2,"2026-06-11 03:09:31","top_language"]