gpd-request 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/gpd-request.rb +44 -0
  2. metadata +55 -0
@@ -0,0 +1,44 @@
1
+ require 'net/http'
2
+ require 'rexml/document'
3
+ include REXML
4
+
5
+ # file: gpd-request.rb
6
+
7
+ class GPDRequest
8
+
9
+ def initialize(user, pass, headers={})
10
+ @headers = {
11
+ "User-Agent" => "Ruby-GPDRequest"
12
+ }.merge headers
13
+ @username, @password = user, pass
14
+ end
15
+
16
+ def request(uri)
17
+ path = uri
18
+ url = URI.parse(path)
19
+ req = yield(url)
20
+ req.basic_auth(@username, @password)
21
+ response = Net::HTTP.new(url.host, url.port).start { |http| http.request(req) }
22
+ Document.new(response.body).write
23
+ end
24
+
25
+ def get(uri)
26
+ request(uri) {|url| Net::HTTP::Get.new url.path, @headers }
27
+ end
28
+
29
+ def post(uri, form_data={})
30
+ request(uri) do |url|
31
+ req = Net::HTTP::Post.new(url.path, @headers)
32
+ req.set_form_data form_data unless form_data.empty?
33
+ req
34
+ end
35
+ end
36
+
37
+ def delete(uri, form_data={})
38
+ request(uri) do |url|
39
+ req = Net::HTTP::Delete.new(url.path, @headers)
40
+ req.set_form_data form_data unless form_data.empty?
41
+ req
42
+ end
43
+ end
44
+ end
metadata ADDED
@@ -0,0 +1,55 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gpd-request
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors: []
7
+
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-12-17 00:00:00 +00:00
13
+ default_executable:
14
+ dependencies: []
15
+
16
+ description:
17
+ email:
18
+ executables: []
19
+
20
+ extensions: []
21
+
22
+ extra_rdoc_files: []
23
+
24
+ files:
25
+ - lib/gpd-request.rb
26
+ has_rdoc: true
27
+ homepage:
28
+ licenses: []
29
+
30
+ post_install_message:
31
+ rdoc_options: []
32
+
33
+ require_paths:
34
+ - lib
35
+ required_ruby_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: "0"
40
+ version:
41
+ required_rubygems_version: !ruby/object:Gem::Requirement
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: "0"
46
+ version:
47
+ requirements: []
48
+
49
+ rubyforge_project:
50
+ rubygems_version: 1.3.5
51
+ signing_key:
52
+ specification_version: 3
53
+ summary: GPD-Request is a convenient Net::HTTP wrapper
54
+ test_files: []
55
+