{"id":16014902,"url":"https://github.com/thheller/gen_http","last_synced_at":"2026-06-08T16:31:48.935Z","repository":{"id":140236838,"uuid":"2283701","full_name":"thheller/gen_http","owner":"thheller","description":"Erlang Web Framework Experiments","archived":false,"fork":false,"pushed_at":"2011-08-28T15:30:04.000Z","size":123,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-05T03:13:15.895Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://github.com/thheller/gen_http","language":"Erlang","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thheller.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-08-28T15:03:04.000Z","updated_at":"2014-04-26T05:08:31.000Z","dependencies_parsed_at":"2023-03-11T20:12:15.023Z","dependency_job_id":null,"html_url":"https://github.com/thheller/gen_http","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/thheller/gen_http","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Fgen_http","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Fgen_http/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Fgen_http/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Fgen_http/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thheller","download_url":"https://codeload.github.com/thheller/gen_http/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thheller%2Fgen_http/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34071652,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-08T02:00:07.615Z","response_time":111,"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":"2024-10-08T15:05:28.662Z","updated_at":"2026-06-08T16:31:48.917Z","avatar_url":"https://github.com/thheller.png","language":"Erlang","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Erlang WebApp Testing Area\n\nThese are some experiments at coming up with a Web Framework for Erlang.\n\nIts still in drafting stage and no real \"framework\" has emerged yet,\nI'm building this as a hobby and to learn me some Erlang. I have no real\nexperience in Erlang (except for a gazillion experiments), so this might\ninclude some crappy Erlang code. Anyways, if you want to run this, do the\nfollowing:\n\nRequirements:\n\n* erlang (only tested R14B03)\n* yaws (http://yaws.hyber.org, only tested 1.91)\n* rebar (https://github.com/basho/rebar) \n* git\n\nIf you got all that, run this:\n\n\u003cpre\u003e\n    $ git clone git://github.com/thheller/gen_http.git\n    $ cd gen_http\n    $ rebar get-deps\n    $ rebar compile\n\n    % optional but cant hurt\n    $ rebar eunit\n\u003c/pre\u003e\n\nIf all those worked, you need to setup yaws and configure a \"Server\".\n\n# Yaws Server Config\n\nWe need a yaws server entry and some additional stuff, all pretty basic.\nI have no experience with yaws so there might be smoother ways to set this up.\n\n## Example:\n\n    # required load paths\n    ebin_dir = /Users/zilence/code/gen_http/ebin\n    ebin_dir = /Users/zilence/code/gen_http/deps/bcrypt/ebin\n\n    # very useful in development, thanks to mochiweb\n    # runmod = reloader\n    runmod = bcrypt\n\n    \u003cserver localhost\u003e\n      port = 8000\n      listen = 0.0.0.0\n      docroot = /Users/zilence/code/gen_http/public\n      statistics = true\n      appmods = \u003c/, test_web exclude_paths static js css\u003e\n\n      \u003copaque\u003e\n        cookie_secret = \"TU1t7hSwoP6VgEpFwTD2AU7NaaMXzDN3uGddUS9ujzUOW11XOzZBNrLOGBJkfZSy3ZhnP8RSKpH8qEtq6QtOskh6CzK98nHbHxuQwOmAWSvppmDxuI12NINEfcALvi1K\"\n      \u003c/opaque\u003e\n    \u003c/server\u003e\n\n\n## \"cookie_secret\"\n\n\"cookie_secret\" must be a long, random String. *DO NOT USE MY EXAMPLE VALUE*.\nIt is used to sign\u0026verify cookies, meaning we sign cookies so we can \"trust\"\nthem, since the User shouldn't be able to change them. They can still look at\nthem though, so dont put secrets in there. \n\n\n## Initializing the Sample\n\nI have never used mnesia before, so this might all be completely wrong.\n\nI start yaws with\n\n\u003cpre\u003e\n    yaws -i --mnesia-dir var/mnesia\n     % then init the sample\n    \n    1\u003e test_web:init_sample().\n\u003c/pre\u003e\n\n\nThere is a test running at: [http://zilence.net:8000](http://zilence.net:8000), not\nsure how up-to-date I'll keep that. There is login/logout and register working. A Dummy\nTest Account: test/testtest is created by default.\n\n## Credits\n\nI borrowed some code, since I didn't wanna write all that stuff myself. :P\n\nSo thanks goes to:\n\n* yaws\n[http://yaws.hyber.org](http://yaws.hyber.org)\n\n* reloader.erl from mochiweb\n[http://github.com/mochi/mochiweb](http://github.com/mochi/mochiweb)\n\n* riak_core_util.erl from riak_core\n[http://github.com/basho/riak_core](http://github.com/basho/riak_core)\n\n* erlang-bcrypt\n[http://github.com/smarkets/erlang-bcrypt](http://github.com/smarkets/erlang-bcrypt)\n\n* twitter css \"bootstrap\"\n[http://twitter.github.com/bootstrap/](http://twitter.github.com/bootstrap/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthheller%2Fgen_http","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthheller%2Fgen_http","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthheller%2Fgen_http/lists"}