{"id":28207626,"url":"https://github.com/f3ath/dart-http-interop-shelf","last_synced_at":"2025-10-07T21:06:33.037Z","repository":{"id":284329995,"uuid":"850125683","full_name":"f3ath/dart-http-interop-shelf","owner":"f3ath","description":"http_interop shims for shelf","archived":false,"fork":false,"pushed_at":"2024-09-02T18:36:37.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-10T19:50:11.232Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dart","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/f3ath.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2024-08-30T23:59:04.000Z","updated_at":"2024-09-02T18:35:41.000Z","dependencies_parsed_at":"2025-03-25T11:02:35.450Z","dependency_job_id":"c169d767-8b55-4210-a6f5-5d877588bcbf","html_url":"https://github.com/f3ath/dart-http-interop-shelf","commit_stats":null,"previous_names":["f3ath/dart-http-interop-shelf"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/f3ath/dart-http-interop-shelf","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3ath%2Fdart-http-interop-shelf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3ath%2Fdart-http-interop-shelf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3ath%2Fdart-http-interop-shelf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3ath%2Fdart-http-interop-shelf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/f3ath","download_url":"https://codeload.github.com/f3ath/dart-http-interop-shelf/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/f3ath%2Fdart-http-interop-shelf/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278846914,"owners_count":26056207,"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-10-07T02:00:06.786Z","response_time":59,"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":"2025-05-17T12:16:19.206Z","updated_at":"2025-10-07T21:06:33.032Z","avatar_url":"https://github.com/f3ath.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# http_interop_shelf\n\nConverts Interop handlers to Shelf handlers.\n\n```dart\nimport 'dart:convert';\nimport 'dart:io';\n\nimport 'package:http_interop/extensions.dart';\nimport 'package:http_interop/http_interop.dart';\nimport 'package:http_interop_shelf/http_interop_shelf.dart';\nimport 'package:shelf/shelf_io.dart';\n\nvoid main() async {\n  const host = 'localhost';\n  const port = 8080;\n  /// The shelf handler\n  final shelfHandler = echo.shelfHandler;\n  final server = await serve(shelfHandler, host, port);\n  ProcessSignal.sigint.watch().listen((event) async {\n    print('Shutting down...');\n    await server.close();\n    exit(0);\n  });\n  print('Listening on http://$host:$port. Press Ctrl+C to exit.');\n}\n\n/// This is a http_interop handler that echos the request back to the client.\nFuture\u003cResponse\u003e echo(Request request) async =\u003e\n    Response(\n        200,\n        Body.json({\n          'method': request.method,\n          'body': await request.body.decode(utf8),\n          'headers': request.headers\n        }),\n        Headers.from({\n          'Content-Type': ['application/json']\n        }));\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff3ath%2Fdart-http-interop-shelf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ff3ath%2Fdart-http-interop-shelf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff3ath%2Fdart-http-interop-shelf/lists"}