brianmario-yajl-ruby 0.4.1 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +5 -0
- data/Rakefile +1 -1
- data/VERSION.yml +1 -1
- data/lib/yajl/http_stream.rb +14 -6
- data/lib/yajl.rb +2 -1
- data/yajl-ruby.gemspec +2 -2
- metadata +2 -2
data/CHANGELOG.rdoc
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
= Changelog
|
2
2
|
|
3
|
+
0.4.2 (April 30th, 2009)
|
4
|
+
* Yajl::HttpStream is now sending "proper" http request headers
|
5
|
+
* Yajl::HttpStream will request HTTP-Basic auth if credentials are provided in the passed URI
|
6
|
+
* cleanup requires
|
7
|
+
|
3
8
|
0.4.1 (April 30th, 2009)
|
4
9
|
* fixed a typo in the stream.rb benchmark file
|
5
10
|
* fixed a bug in Yajl::Stream.parse that was causing "strange" Ruby malloc errors on large files, with large strings
|
data/Rakefile
CHANGED
@@ -7,7 +7,7 @@ begin
|
|
7
7
|
gem.email = "seniorlopez@gmail.com"
|
8
8
|
gem.homepage = "http://github.com/brianmario/yajl-ruby"
|
9
9
|
gem.authors = ["Brian Lopez"]
|
10
|
-
gem.require_paths = ["
|
10
|
+
gem.require_paths = ["lib", "ext"]
|
11
11
|
gem.extra_rdoc_files = `git ls-files *.rdoc`.split("\n")
|
12
12
|
gem.files = `git ls-files`.split("\n")
|
13
13
|
gem.extensions = ["ext/extconf.rb"]
|
data/VERSION.yml
CHANGED
data/lib/yajl/http_stream.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# encoding: UTF-8
|
2
2
|
require 'socket' unless defined?(Socket)
|
3
3
|
require 'zlib' unless defined?(Zlib)
|
4
|
-
require 'yajl' unless defined?(Yajl)
|
4
|
+
require 'yajl.rb' unless defined?(Yajl)
|
5
5
|
|
6
6
|
module Yajl
|
7
7
|
# == Yajl::HttpStream
|
@@ -29,8 +29,15 @@ module Yajl
|
|
29
29
|
socket = Socket.new(Socket::Constants::AF_INET, Socket::Constants::SOCK_STREAM, 0)
|
30
30
|
sockaddr = Socket.pack_sockaddr_in(uri.port, uri.host)
|
31
31
|
socket.connect(sockaddr)
|
32
|
-
|
33
|
-
|
32
|
+
request = "GET #{uri.path}#{uri.query ? "?"+uri.query : nil} HTTP/1.0\r\n"
|
33
|
+
request << "Host: #{uri.host}\r\n"
|
34
|
+
request << "Authorization: Basic #{[userinfo].pack('m')}\r\n" unless uri.userinfo.nil?
|
35
|
+
request << "User-Agent: Yajl::HttpStream #{Yajl::VERSION}\r\n"
|
36
|
+
request << "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n"
|
37
|
+
request << "Accept-Encoding: gzip\r\n"
|
38
|
+
request << "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n"
|
39
|
+
request << "\r\n\r\n"
|
40
|
+
socket.write(request)
|
34
41
|
response_head = {}
|
35
42
|
response_head[:headers] = {}
|
36
43
|
|
@@ -70,9 +77,10 @@ module Yajl
|
|
70
77
|
# This is a wrapper around Zlib::GzipReader to allow it's #read method to adhere
|
71
78
|
# to the IO spec, allowing for two parameters (length, and buffer)
|
72
79
|
class GzipStreamReader < ::Zlib::GzipReader
|
73
|
-
def read(len, buffer=nil)
|
74
|
-
buffer.gsub!(/.*/, '')
|
75
|
-
buffer << super(len)
|
80
|
+
def read(len=nil, buffer=nil)
|
81
|
+
buffer.gsub!(/.*/, '') unless buffer.nil?
|
82
|
+
buffer << super(len) and return unless buffer.nil?
|
83
|
+
super(len)
|
76
84
|
end
|
77
85
|
end
|
78
86
|
end
|
data/lib/yajl.rb
CHANGED
data/yajl-ruby.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{yajl-ruby}
|
5
|
-
s.version = "0.4.
|
5
|
+
s.version = "0.4.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Brian Lopez"]
|
@@ -99,7 +99,7 @@ Gem::Specification.new do |s|
|
|
99
99
|
s.has_rdoc = true
|
100
100
|
s.homepage = %q{http://github.com/brianmario/yajl-ruby}
|
101
101
|
s.rdoc_options = ["--charset=UTF-8"]
|
102
|
-
s.require_paths = ["
|
102
|
+
s.require_paths = ["lib", "ext"]
|
103
103
|
s.rubygems_version = %q{1.3.2}
|
104
104
|
s.summary = %q{Ruby C bindings to the excellent Yajl JSON stream-based parser library.}
|
105
105
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brianmario-yajl-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Lopez
|
@@ -110,8 +110,8 @@ post_install_message:
|
|
110
110
|
rdoc_options:
|
111
111
|
- --charset=UTF-8
|
112
112
|
require_paths:
|
113
|
-
- ext
|
114
113
|
- lib
|
114
|
+
- ext
|
115
115
|
required_ruby_version: !ruby/object:Gem::Requirement
|
116
116
|
requirements:
|
117
117
|
- - ">="
|