summaryrefslogtreecommitdiffstats
path: root/web/server/h2o/libh2o/lib/handler/mruby/embedded.c.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--web/server/h2o/libh2o/lib/handler/mruby/embedded.c.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/web/server/h2o/libh2o/lib/handler/mruby/embedded.c.h b/web/server/h2o/libh2o/lib/handler/mruby/embedded.c.h
new file mode 100644
index 00000000..db4bb232
--- /dev/null
+++ b/web/server/h2o/libh2o/lib/handler/mruby/embedded.c.h
@@ -0,0 +1,111 @@
+/*
+ * DO NOT EDIT! generated by embed_mruby_code.pl
+ * Please refer to the respective source files for copyright information.
+ */
+
+/* lib/handler/mruby/embedded/core.rb */
+#define H2O_MRUBY_CODE_CORE \
+ "module Kernel\n" \
+ " def _h2o_define_callback(name, id)\n" \
+ " Kernel.define_method(name) do |*args|\n" \
+ " ret = Fiber.yield([ id, _h2o_create_resumer(), args ])\n" \
+ " if ret.kind_of? Exception\n" \
+ " raise ret\n" \
+ " end\n" \
+ " ret\n" \
+ " end\n" \
+ " end\n" \
+ " def _h2o_create_resumer()\n" \
+ " me = Fiber.current\n" \
+ " Proc.new do |v|\n" \
+ " me.resume(v)\n" \
+ " end\n" \
+ " end\n" \
+ " def _h2o_proc_each_to_array()\n" \
+ " Proc.new do |o|\n" \
+ " a = []\n" \
+ " o.each do |x|\n" \
+ " a << x\n" \
+ " end\n" \
+ " a\n" \
+ " end\n" \
+ " end\n" \
+ " def _h2o_proc_app_to_fiber()\n" \
+ " Proc.new do |app|\n" \
+ " cached = nil\n" \
+ " Proc.new do |req|\n" \
+ " fiber = cached\n" \
+ " cached = nil\n" \
+ " if !fiber\n" \
+ " fiber = Fiber.new do\n" \
+ " self_fiber = Fiber.current\n" \
+ " req = Fiber.yield\n" \
+ " while 1\n" \
+ " begin\n" \
+ " while 1\n" \
+ " resp = app.call(req)\n" \
+ " cached = self_fiber\n" \
+ " req = Fiber.yield(resp)\n" \
+ " end\n" \
+ " rescue => e\n" \
+ " cached = self_fiber\n" \
+ " req = Fiber.yield([-1, e])\n" \
+ " end\n" \
+ " end\n" \
+ " end\n" \
+ " fiber.resume\n" \
+ " end\n" \
+ " fiber.resume(req)\n" \
+ " end\n" \
+ " end\n" \
+ " end\n" \
+ "end\n"
+
+/* lib/handler/mruby/embedded/http_request.rb */
+#define H2O_MRUBY_CODE_HTTP_REQUEST \
+ "module H2O\n" \
+ " class HttpRequest\n" \
+ " def join\n" \
+ " if !@resp\n" \
+ " @resp = _h2o__http_join_response(self)\n" \
+ " end\n" \
+ " @resp\n" \
+ " end\n" \
+ " def _set_response(resp)\n" \
+ " @resp = resp\n" \
+ " end\n" \
+ " end\n" \
+ " class HttpInputStream\n" \
+ " def each\n" \
+ " while c = _h2o__http_fetch_chunk(self)\n" \
+ " yield c\n" \
+ " end\n" \
+ " end\n" \
+ " def join\n" \
+ " s = \"\"\n" \
+ " each do |c|\n" \
+ " s << c\n" \
+ " end\n" \
+ " s\n" \
+ " end\n" \
+ " class Empty < HttpInputStream\n" \
+ " def each; end\n" \
+ " end\n" \
+ " end\n" \
+ "end\n"
+
+/* lib/handler/mruby/embedded/chunked.rb */
+#define H2O_MRUBY_CODE_CHUNKED \
+ "module Kernel\n" \
+ " def _h2o_chunked_proc_each_to_fiber()\n" \
+ " Proc.new do |src|\n" \
+ " fiber = Fiber.new do\n" \
+ " src.each do |chunk|\n" \
+ " _h2o_send_chunk(chunk)\n" \
+ " end\n" \
+ " _h2o_send_chunk_eos()\n" \
+ " end\n" \
+ " fiber.resume\n" \
+ " end\n" \
+ " end\n" \
+ "end\n"