bossan 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -50,7 +50,7 @@
50
50
 
51
51
  #define MSG_413 ("HTTP/1.0 413 Request Entity Too Large\r\nContent-Type: text/html\r\nServer: " SERVER "\r\n\r\n<html><head><title>Request Entity Too Large</title></head><body><p>Request Entity Too Large.</p></body></html>")
52
52
 
53
- #define SERVER "bossan/0.1.7"
53
+ #define SERVER "bossan/0.1.8"
54
54
 
55
55
  VALUE server; // Bossan
56
56
 
@@ -96,6 +96,8 @@ static VALUE i_new;
96
96
  static VALUE i_key;
97
97
  static VALUE i_each;
98
98
  static VALUE i_close;
99
+ static VALUE i_write;
100
+ static VALUE i_seek;
99
101
 
100
102
  static const char *server_name = "127.0.0.1";
101
103
  static short server_port = 8000;
@@ -538,26 +540,6 @@ write_headers(client_t *client)
538
540
  }
539
541
 
540
542
 
541
- /* static int */
542
- /* write_sendfile(int out_fd, int in_fd, size_t count) */
543
- /* { */
544
- /* int size = (int)count; */
545
-
546
- /* if (size == 0) { */
547
- /* struct stat info; */
548
- /* if (fstat(in_fd, &info) == -1){ */
549
- /* // TODO: */
550
- /* // raise exception from errno */
551
- /* /\* rb_raise(); *\/ */
552
- /* /\* write_error_log(__FILE__, __LINE__); *\/ */
553
- /* return -1; */
554
- /* } */
555
- /* size = info.st_size - lseek(in_fd, 0, SEEK_CUR); */
556
- /* } */
557
- /* return sendfile(out_fd, in_fd, NULL, count); */
558
- /* } */
559
-
560
-
561
543
  static void
562
544
  close_response(client_t *client)
563
545
  {
@@ -746,7 +728,7 @@ write_body2mem(client_t *client, const char *buffer, size_t buffer_len)
746
728
  VALUE obj;
747
729
  /* printf("body2mem called\n"); */
748
730
 
749
- rb_funcall((VALUE)client->body, rb_intern("write"), 1, rb_str_new(buffer, buffer_len));
731
+ rb_funcall((VALUE)client->body, i_write, 1, rb_str_new(buffer, buffer_len));
750
732
  client->body_readed += buffer_len;
751
733
  #ifdef DEBUG
752
734
  printf("write_body2mem %d bytes \n", buffer_len);
@@ -1514,15 +1496,13 @@ prepare_call_rack(client_t *client)
1514
1496
  char *val;
1515
1497
 
1516
1498
  if(client->body_type == BODY_TYPE_BUFFER) {
1517
- /* rb_p( rb_funcall((VALUE)client->body, rb_intern("gets"), 0) ); */
1518
- rb_p( rb_funcall((VALUE)client->body, rb_intern("seek"), 1, INT2NUM(0)) );
1499
+ rb_funcall((VALUE)client->body, i_seek, 1, INT2NUM(0));
1519
1500
  rb_hash_aset(client->environ, rack_input, (VALUE)client->body);
1520
1501
  } else {
1521
1502
  object = rb_str_new2("");
1522
1503
  input = rb_funcall(StringIO, i_new, 1, object);
1523
1504
  rb_gc_register_address(&input);
1524
1505
  rb_hash_aset(client->environ, rack_input, input);
1525
- /* client->body = object; */
1526
1506
  client->body = input;
1527
1507
  }
1528
1508
 
@@ -1985,6 +1965,8 @@ Init_bossan_ext(void)
1985
1965
  rb_gc_register_address(&i_key);
1986
1966
  rb_gc_register_address(&i_each);
1987
1967
  rb_gc_register_address(&i_close);
1968
+ rb_gc_register_address(&i_write);
1969
+ rb_gc_register_address(&i_seek);
1988
1970
 
1989
1971
  rb_gc_register_address(&rack_app); //rack app
1990
1972
 
@@ -1994,6 +1976,8 @@ Init_bossan_ext(void)
1994
1976
  i_key = rb_intern("key?");
1995
1977
  i_each = rb_intern("each");
1996
1978
  i_close = rb_intern("close");
1979
+ i_write = rb_intern("write");
1980
+ i_seek = rb_intern("seek");
1997
1981
 
1998
1982
  server = rb_define_module("Bossan");
1999
1983
  rb_gc_register_address(&server);
@@ -1,3 +1,3 @@
1
1
  module Bossan
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bossan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: