rhebok 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Changes +5 -0
- data/README.md +0 -2
- data/ext/rhebok/rhebok.c +40 -13
- data/lib/rhebok/version.rb +1 -1
- data/rhebok.gemspec +1 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9355b53eeddf987a2aa824aa639eb3fd6f4fcc22
|
4
|
+
data.tar.gz: 0a041cb2ebfc3daf54af50f1eccb639868c3d9a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb9728ed0b511498d9c7adc8b60fb6c296754e8e430a2199d7f9491305d7fdd5acaed15fe2c52f2893ef40311dc2ad91bf8a4c8d53f6f94c2f7a05a4b755689a
|
7
|
+
data.tar.gz: cf23b2c70f18c728b01b10781136800e3c753033bb9627af91bc43dc9f301decb6bf834910370ce699291d8b7aed221db60625652986846924d3ac42ef08fd04
|
data/Changes
CHANGED
data/README.md
CHANGED
data/ext/rhebok/rhebok.c
CHANGED
@@ -677,6 +677,7 @@ VALUE rhe_write_response(VALUE self, VALUE filenov, VALUE timeoutv, VALUE status
|
|
677
677
|
int i;
|
678
678
|
char status_line[512];
|
679
679
|
char date_line[512];
|
680
|
+
char server_line[1032];
|
680
681
|
int date_pushed = 0;
|
681
682
|
VALUE harr;
|
682
683
|
VALUE key_obj;
|
@@ -685,6 +686,10 @@ VALUE rhe_write_response(VALUE self, VALUE filenov, VALUE timeoutv, VALUE status
|
|
685
686
|
ssize_t key_len;
|
686
687
|
const char * message;
|
687
688
|
|
689
|
+
const char * s;
|
690
|
+
char* d;
|
691
|
+
ssize_t n;
|
692
|
+
|
688
693
|
int fileno = NUM2INT(filenov);
|
689
694
|
double timeout = NUM2DBL(timeoutv);
|
690
695
|
int status_code = NUM2INT(status_codev);
|
@@ -720,8 +725,11 @@ VALUE rhe_write_response(VALUE self, VALUE filenov, VALUE timeoutv, VALUE status
|
|
720
725
|
v[iovcnt].iov_len = i;
|
721
726
|
iovcnt++;
|
722
727
|
|
723
|
-
|
724
|
-
|
728
|
+
/* for date header */
|
729
|
+
iovcnt++;
|
730
|
+
|
731
|
+
v[iovcnt].iov_base = "Server: Rhebok\r\n";
|
732
|
+
v[iovcnt].iov_len = sizeof("Server: Rhebok\r\n")-1;
|
725
733
|
iovcnt++;
|
726
734
|
|
727
735
|
date_pushed = 0;
|
@@ -729,16 +737,38 @@ VALUE rhe_write_response(VALUE self, VALUE filenov, VALUE timeoutv, VALUE status
|
|
729
737
|
key_obj = rb_ary_entry(harr, i);
|
730
738
|
key = RSTRING_PTR(key_obj);
|
731
739
|
key_len = RSTRING_LEN(key_obj);
|
740
|
+
i++;
|
741
|
+
|
732
742
|
if ( strncasecmp(key,"Connection",key_len) == 0 ) {
|
733
|
-
i++;
|
734
743
|
continue;
|
735
744
|
}
|
736
|
-
|
737
|
-
|
738
|
-
|
745
|
+
|
746
|
+
val_obj = rb_ary_entry(harr, i);
|
747
|
+
|
739
748
|
if ( strncasecmp(key,"Date",key_len) == 0 ) {
|
749
|
+
strcpy(date_line, "Date: ");
|
750
|
+
for ( s=RSTRING_PTR(val_obj), n = RSTRING_LEN(val_obj), d=date_line+sizeof("Date: ")-1; n !=0; s++, --n, d++) {
|
751
|
+
*d = *s;
|
752
|
+
}
|
753
|
+
date_line[sizeof("Date: ") -1 + RSTRING_LEN(val_obj)] = 13;
|
754
|
+
date_line[sizeof("Date: ") -1 + RSTRING_LEN(val_obj) + 1] = 10;
|
755
|
+
v[1].iov_base = date_line;
|
756
|
+
v[1].iov_len = sizeof("Date: ") -1 + RSTRING_LEN(val_obj) + 2;
|
740
757
|
date_pushed = 1;
|
758
|
+
continue;
|
741
759
|
}
|
760
|
+
if ( strncasecmp(key,"Server",key_len) == 0 ) {
|
761
|
+
strcpy(server_line, "Server: ");
|
762
|
+
for ( s=RSTRING_PTR(val_obj), n = RSTRING_LEN(val_obj), d=server_line+sizeof("Server: ")-1; n !=0; s++, --n, d++) {
|
763
|
+
*d = *s;
|
764
|
+
}
|
765
|
+
server_line[sizeof("Server: ") -1 + RSTRING_LEN(val_obj)] = 13;
|
766
|
+
server_line[sizeof("Server: ") -1 + RSTRING_LEN(val_obj) + 1] = 10;
|
767
|
+
v[2].iov_base = server_line;
|
768
|
+
v[2].iov_len = sizeof("Server: ") -1 + RSTRING_LEN(val_obj) + 2;
|
769
|
+
continue;
|
770
|
+
}
|
771
|
+
|
742
772
|
v[iovcnt].iov_base = key;
|
743
773
|
v[iovcnt].iov_len = key_len;
|
744
774
|
iovcnt++;
|
@@ -747,8 +777,6 @@ VALUE rhe_write_response(VALUE self, VALUE filenov, VALUE timeoutv, VALUE status
|
|
747
777
|
iovcnt++;
|
748
778
|
|
749
779
|
/* value */
|
750
|
-
i++;
|
751
|
-
val_obj = rb_ary_entry(harr, i);
|
752
780
|
v[iovcnt].iov_base = RSTRING_PTR(val_obj);
|
753
781
|
v[iovcnt].iov_len = RSTRING_LEN(val_obj);
|
754
782
|
iovcnt++;
|
@@ -758,13 +786,12 @@ VALUE rhe_write_response(VALUE self, VALUE filenov, VALUE timeoutv, VALUE status
|
|
758
786
|
}
|
759
787
|
|
760
788
|
if ( date_pushed == 0 ) {
|
761
|
-
v[
|
762
|
-
v[
|
763
|
-
iovcnt++;
|
789
|
+
v[1].iov_len = _date_line(date_line);
|
790
|
+
v[1].iov_base = date_line;
|
764
791
|
}
|
765
792
|
|
766
|
-
v[iovcnt].iov_base = "\r\n";
|
767
|
-
v[iovcnt].iov_len = sizeof("\r\n") - 1;
|
793
|
+
v[iovcnt].iov_base = "Connection: close\r\n\r\n";
|
794
|
+
v[iovcnt].iov_len = sizeof("Connection: close\r\n\r\n") - 1;
|
768
795
|
iovcnt++;
|
769
796
|
|
770
797
|
for ( i=0; i<blen; i++) {
|
data/lib/rhebok/version.rb
CHANGED
data/rhebok.gemspec
CHANGED
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ["lib"]
|
21
21
|
|
22
|
+
spec.required_ruby_version = '>= 2.0'
|
22
23
|
spec.add_development_dependency "bundler", "~> 1.7"
|
23
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
24
25
|
spec.add_development_dependency "bacon"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rhebok
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masahiro Nagano
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -127,7 +127,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
127
|
requirements:
|
128
128
|
- - ">="
|
129
129
|
- !ruby/object:Gem::Version
|
130
|
-
version: '0'
|
130
|
+
version: '2.0'
|
131
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
132
|
requirements:
|
133
133
|
- - ">="
|