net-hippie 0.1.4 → 0.1.5
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/.gitlab-ci.yml +12 -0
- data/.travis.yml +3 -1
- data/Gemfile +2 -2
- data/Rakefile +9 -6
- data/bin/cibuild +22 -0
- data/bin/console +4 -3
- data/bin/lint +8 -0
- data/bin/test +17 -0
- data/exe/net-hippie +2 -2
- data/lib/net/hippie.rb +8 -7
- data/lib/net/hippie/client.rb +17 -10
- data/lib/net/hippie/json_mapper.rb +1 -0
- data/lib/net/hippie/version.rb +1 -1
- data/net-hippie.gemspec +17 -16
- metadata +22 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12ccfad50c8db9e96df5f49a277ba31b2b039fcc685aed30a733b27a620d64ee
|
4
|
+
data.tar.gz: 85196d13bc7e652dc064ac73d639cb4c4f4c945ca6298bdf2425547b792fd7e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8557e62376abba6c5edb1ebe2a44b490bf26ab93b0a766e0b3987c53c5a174b96f211d803e66b0634f74ef6f4d1b71c9764e9e422bbacbb449507b1fbf993792
|
7
|
+
data.tar.gz: af6365c53418c152c3cf26903eb053c7e89956e39c33d03a1cef1f84fe41a6a81135885adb57de110f0d4b0337d418ddff79485a9a719a2fbc0e68c27638888f
|
data/.gitlab-ci.yml
ADDED
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
source
|
1
|
+
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
3
|
+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in net-hippie.gemspec
|
6
6
|
gemspec
|
data/Rakefile
CHANGED
@@ -1,10 +1,13 @@
|
|
1
|
-
require
|
2
|
-
require
|
1
|
+
require 'bundler/gem_tasks'
|
2
|
+
require 'rake/testtask'
|
3
|
+
require 'rubocop/rake_task'
|
3
4
|
|
4
5
|
Rake::TestTask.new(:test) do |t|
|
5
|
-
t.libs <<
|
6
|
-
t.libs <<
|
7
|
-
t.test_files = FileList[
|
6
|
+
t.libs << 'test'
|
7
|
+
t.libs << 'lib'
|
8
|
+
t.test_files = FileList['test/**/*_test.rb']
|
8
9
|
end
|
10
|
+
RuboCop::RakeTask.new(:rubocop)
|
9
11
|
|
10
|
-
task :
|
12
|
+
task lint: [:rubocop]
|
13
|
+
task default: :test
|
data/bin/cibuild
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
# script/cibuild: Setup environment for CI to run tests. This is primarily
|
4
|
+
# designed to run on the continuous integration server.
|
5
|
+
|
6
|
+
set -e
|
7
|
+
|
8
|
+
cd "$(dirname "$0")/.."
|
9
|
+
|
10
|
+
echo [$(date "+%H:%M:%S")] "==> Started at…"
|
11
|
+
|
12
|
+
# GC customizations
|
13
|
+
export RUBY_GC_MALLOC_LIMIT=79000000
|
14
|
+
export RUBY_GC_HEAP_INIT_SLOTS=800000
|
15
|
+
export RUBY_HEAP_FREE_MIN=100000
|
16
|
+
export RUBY_HEAP_SLOTS_INCREMENT=400000
|
17
|
+
export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
|
18
|
+
|
19
|
+
ruby -v
|
20
|
+
gem install bundler --no-ri --no-rdoc --conservative
|
21
|
+
bin/test
|
22
|
+
bin/lint
|
data/bin/console
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
-
require
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'net/hippie'
|
5
6
|
|
6
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
8
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +11,5 @@ require "net/hippie"
|
|
10
11
|
# require "pry"
|
11
12
|
# Pry.start
|
12
13
|
|
13
|
-
require
|
14
|
+
require 'irb'
|
14
15
|
IRB.start(__FILE__)
|
data/bin/lint
ADDED
data/bin/test
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
# script/test: Run test suite for application. Optionally pass in a path to an
|
4
|
+
# individual test file to run a single test.
|
5
|
+
|
6
|
+
|
7
|
+
set -e
|
8
|
+
|
9
|
+
cd "$(dirname "$0")/.."
|
10
|
+
|
11
|
+
[ -z "$DEBUG" ] || set -x
|
12
|
+
|
13
|
+
echo [$(date "+%H:%M:%S")] "==> Running setup…"
|
14
|
+
bin/setup
|
15
|
+
|
16
|
+
echo [$(date "+%H:%M:%S")] "==> Running tests…"
|
17
|
+
bundle exec rake test
|
data/exe/net-hippie
CHANGED
data/lib/net/hippie.rb
CHANGED
@@ -1,13 +1,14 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
1
|
+
require 'json'
|
2
|
+
require 'logger'
|
3
|
+
require 'net/http'
|
4
|
+
require 'openssl'
|
5
5
|
|
6
|
-
require
|
7
|
-
require
|
8
|
-
require
|
6
|
+
require 'net/hippie/version'
|
7
|
+
require 'net/hippie/json_mapper'
|
8
|
+
require 'net/hippie/client'
|
9
9
|
|
10
10
|
module Net
|
11
|
+
# net/http for hippies.
|
11
12
|
module Hippie
|
12
13
|
def self.logger
|
13
14
|
@logger ||= Logger.new(STDOUT)
|
data/lib/net/hippie/client.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
module Net
|
2
2
|
module Hippie
|
3
|
+
# A simple client for connecting with http resources.
|
3
4
|
class Client
|
4
5
|
DEFAULT_HEADERS = {
|
5
6
|
'Accept' => 'application/json',
|
6
7
|
'Content-Type' => 'application/json',
|
7
|
-
'User-Agent' => "net/hippie #{Net::Hippie::VERSION}"
|
8
|
-
}
|
8
|
+
'User-Agent' => "net/hippie #{Net::Hippie::VERSION}"
|
9
|
+
}.freeze
|
9
10
|
|
10
11
|
def initialize(
|
11
12
|
certificate: nil,
|
@@ -18,6 +19,7 @@ module Net
|
|
18
19
|
@default_headers = headers
|
19
20
|
@key = key
|
20
21
|
@mapper = mapper
|
22
|
+
@passphrase = passphrase
|
21
23
|
end
|
22
24
|
|
23
25
|
def execute(uri, request)
|
@@ -35,7 +37,8 @@ module Net
|
|
35
37
|
end
|
36
38
|
|
37
39
|
def post(uri, headers: {}, body: {})
|
38
|
-
|
40
|
+
type = Net::HTTP::Post
|
41
|
+
request = request_for(type, uri, headers: headers, body: body)
|
39
42
|
response = execute(uri, request)
|
40
43
|
if block_given?
|
41
44
|
yield request, response
|
@@ -66,13 +69,9 @@ module Net
|
|
66
69
|
http.read_timeout = 30
|
67
70
|
http.use_ssl = uri.is_a?(URI::HTTPS)
|
68
71
|
http.set_debug_output(Net::Hippie.logger)
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
http.key = OpenSSL::PKey::RSA.new(key, passphrase)
|
73
|
-
else
|
74
|
-
http.key = OpenSSL::PKey::RSA.new(key)
|
75
|
-
end
|
72
|
+
if certificate && key
|
73
|
+
http.cert = OpenSSL::X509::Certificate.new(certificate) if certificate
|
74
|
+
http.key = private_key
|
76
75
|
end
|
77
76
|
http
|
78
77
|
end
|
@@ -86,6 +85,14 @@ module Net
|
|
86
85
|
def normalize_uri(uri)
|
87
86
|
uri.is_a?(URI) ? uri : URI.parse(uri)
|
88
87
|
end
|
88
|
+
|
89
|
+
def private_key
|
90
|
+
if passphrase
|
91
|
+
OpenSSL::PKey::RSA.new(key, passphrase)
|
92
|
+
else
|
93
|
+
OpenSSL::PKey::RSA.new(key)
|
94
|
+
end
|
95
|
+
end
|
89
96
|
end
|
90
97
|
end
|
91
98
|
end
|
data/lib/net/hippie/version.rb
CHANGED
data/net-hippie.gemspec
CHANGED
@@ -1,29 +1,30 @@
|
|
1
1
|
|
2
|
-
lib = File.expand_path(
|
2
|
+
lib = File.expand_path('lib', __dir__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require
|
4
|
+
require 'net/hippie/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'net-hippie'
|
8
8
|
spec.version = Net::Hippie::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
9
|
+
spec.authors = ['mo']
|
10
|
+
spec.email = ['mo@mokhan.ca']
|
11
11
|
|
12
|
-
spec.summary =
|
13
|
-
spec.description =
|
14
|
-
spec.homepage =
|
15
|
-
spec.license =
|
12
|
+
spec.summary = 'net/http for hippies.'
|
13
|
+
spec.description = 'net/http for hippies.'
|
14
|
+
spec.homepage = 'https://www.mokhan.ca/'
|
15
|
+
spec.license = 'MIT'
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
18
18
|
f.match(%r{^(test|spec|features)/})
|
19
19
|
end
|
20
|
-
spec.bindir =
|
20
|
+
spec.bindir = 'exe'
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
|
-
spec.require_paths = [
|
22
|
+
spec.require_paths = ['lib']
|
23
23
|
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency
|
28
|
-
spec.add_development_dependency
|
24
|
+
spec.add_development_dependency 'bundler', '~> 1.16'
|
25
|
+
spec.add_development_dependency 'minitest', '~> 5.0'
|
26
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
27
|
+
spec.add_development_dependency 'rubocop', '~> 0.55'
|
28
|
+
spec.add_development_dependency 'vcr', '~> 4.0'
|
29
|
+
spec.add_development_dependency 'webmock', '~> 3.4'
|
29
30
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-hippie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mo
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.16'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: minitest
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '5.0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '5.0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rake
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,19 +53,19 @@ dependencies:
|
|
39
53
|
- !ruby/object:Gem::Version
|
40
54
|
version: '10.0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
56
|
+
name: rubocop
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - "~>"
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
61
|
+
version: '0.55'
|
48
62
|
type: :development
|
49
63
|
prerelease: false
|
50
64
|
version_requirements: !ruby/object:Gem::Requirement
|
51
65
|
requirements:
|
52
66
|
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
68
|
+
version: '0.55'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: vcr
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -89,13 +103,17 @@ extensions: []
|
|
89
103
|
extra_rdoc_files: []
|
90
104
|
files:
|
91
105
|
- ".gitignore"
|
106
|
+
- ".gitlab-ci.yml"
|
92
107
|
- ".travis.yml"
|
93
108
|
- Gemfile
|
94
109
|
- LICENSE.txt
|
95
110
|
- README.md
|
96
111
|
- Rakefile
|
112
|
+
- bin/cibuild
|
97
113
|
- bin/console
|
114
|
+
- bin/lint
|
98
115
|
- bin/setup
|
116
|
+
- bin/test
|
99
117
|
- exe/net-hippie
|
100
118
|
- lib/net/hippie.rb
|
101
119
|
- lib/net/hippie/client.rb
|