forked from eventmachine/evma_httpserver
-
Notifications
You must be signed in to change notification settings - Fork 0
An evented http server built on top of eventmachine
Mask/evma_httpserver
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
= eventmachine_httpserver == EM::HttpServer vs Thin +careo | is there a 25 word version of how it differs from thin? +tmm1 | good question.. its probably faster, but only because it doesn't have a real http parser like thin +wyhaines | It is faster. It's more of an nginx style parser than the mongrel, grammar based parser. +careo | so perhaps a better fit for putting an http interface on top of a bunch of already-evented code? +wyhaines | careo: It depends. There are very valid arguments for using an RFC-compliant parser a lot of the time. +wyhaines | But, yeah, sometimes being strictly RFC compliant isn't something that you care about. == Usage example require 'eventmachine' require 'evma_httpserver' class MyHttpServer < EM::Connection include EM::HttpServer def post_init super # faster if you don't need evironment variables (CGI methods) self.no_environment_strings # max length of the POST content self.max_content_length = 10_000_000 end def process_http_request # the http request details are available via the following instance variables: # @http_protocol # @http_request_method # @http_cookie # @http_if_none_match # @http_content_type # @http_path_info # @http_request_uri # @http_query_string # @http_post_content # @http_headers response = EM::DelegatedHttpResponse.new(self) response.status = 200 response.content_type 'text/html' response.content = '<center><h1>Hi there</h1></center>' response.send_response end end EM.run{ EM.start_server '0.0.0.0', 8080, MyHttpServer }
About
An evented http server built on top of eventmachine
Resources
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- Ruby 53.6%
- C++ 46.4%