tiny_http_client 0.0.1

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.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +21 -0
  3. data/lib/tiny_http_client.rb +21 -0
  4. metadata +46 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: bdf5e8a271c93433bd7d0bdb9d722772f27c3ac2
4
+ data.tar.gz: b75bdc9f56604c2e3e17e7ba4c65f1937e6956c4
5
+ SHA512:
6
+ metadata.gz: b1144cf5877de1e5f6828092dcb635242fa92b362677d7d5598889b9d025dac70652dc5d87867415e66038eb33d37e000a32666a75c568dcf0e82e19928d55b2
7
+ data.tar.gz: 94439be9003cb2d8ea8290c34047a36c8c21c9e0e62ed42f45826e0942d20ade6cda2034bb2907525a5e6dedb771481ec272653dae69be8f26faa34875408af1
data/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # SimpleHttp
2
+
3
+ A really simple http client, get content by url:
4
+
5
+ ```ruby
6
+
7
+ html_content = SimpleHttp.get("http://www.google.com")
8
+
9
+ ```
10
+
11
+ or, add basic auth
12
+
13
+ ```ruby
14
+
15
+ html_content = SimpleHttp.get("http://www.google.com") do |req|
16
+ req.basic_auth 'user', 'pass'
17
+ end
18
+
19
+ ```
20
+
21
+ You'll get error when the response is not Net::HTTPSuccess.
@@ -0,0 +1,21 @@
1
+ require 'net/http'
2
+ require 'net/https'
3
+
4
+ module TinyHttpClient
5
+ module_function
6
+
7
+ def get(url, &block)
8
+ uri = URI(url)
9
+ http_opts = { use_ssl: uri.scheme == 'https' }
10
+ Net::HTTP.start uri.host, uri.port, http_opts do |https|
11
+ req = Net::HTTP::Get.new(uri.path)
12
+ yield(req) if block_given?
13
+ case res = https.request(req)
14
+ when Net::HTTPSuccess
15
+ res.body
16
+ else
17
+ res.error!
18
+ end
19
+ end
20
+ end
21
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tiny_http_client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Xiao Li
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-01-18 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Get content by url, or raise error.
14
+ email:
15
+ - swing1979@gmail.com
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - README.md
21
+ - lib/tiny_http_client.rb
22
+ homepage: https://github.com/xli/tiny_http_client
23
+ licenses:
24
+ - MIT
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 2.2.0
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: A really tiny http client, only do one thing.
46
+ test_files: []