little_sniffer 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 82602fd9f0307822fe635ce7d08e1c74958099be1a0a9502300487369ae2e8aa
4
- data.tar.gz: 298de648aa253edb97a1b4f949ce78fa614028901c37c364c04d456a0842492f
3
+ metadata.gz: 1aaf67851f64e7739bd847e9516c759b8addd73800dee97e2517242dc40a3a33
4
+ data.tar.gz: 54ec5ef972bff69482fd3073c281346606ac92c7880b7011e533d522228aca47
5
5
  SHA512:
6
- metadata.gz: cda69983acb023f8e9ec8c21ce04f4045f27054bd5e19b74125d1922cb6c5d0f3c399a2560c6cf4035e2f1107fb35d140063ca993732d5e57fd66a0eaea3e0c9
7
- data.tar.gz: 66f4157f339fafda49b864163869248b013f357035510dc3393bfd53b9c98df39d41c2ff7d4f4b2dbce1db657274e99c64387d2ce9bba56301a16ef47f5bbb19
6
+ metadata.gz: 4f55c104edd46cf167a1fe29c8859f9a48d024dfe8159bbf2b0bcaa26cae1cc5e61625c79438ad542b8042d0260d851dd747879eb05a10fc0f6bdc12332f5c91
7
+ data.tar.gz: e48ad6965f9fcbfe5c1693bfc623f5b697d630c14614c237fc77ac38a139154743fe4367e3820d4e7771fec4130e022c66c18368aa57db61c87e7d5bb8e3a333
data/README.md CHANGED
@@ -29,19 +29,13 @@ Or install it yourself as:
29
29
  Here's some simple examples to get you started:
30
30
 
31
31
  ```ruby
32
- require 'http'
32
+ require 'net/http'
33
33
  require 'little_sniffer'
34
34
 
35
- class YourHandler
36
- def handle(data)
37
- pp data
38
- end
39
- end
40
-
41
- handler = YourHandler.new
35
+ handler = proc { |data| puts data }
42
36
 
43
- LittleSniffer.new(handler) do
44
- HTTP.get('http://example.com/?lang=ruby&author=matz')
37
+ LittleSniffer.new(handler: handler) do
38
+ Net::HTTP.get(URI('http://example.com/?lang=ruby&author=matz'))
45
39
  end
46
40
 
47
41
  # => {:request=>
@@ -5,34 +5,19 @@ require_relative "little_sniffer/adapters/net_http_adapter"
5
5
 
6
6
  # LittleSniffer allows to log http request locally
7
7
  class LittleSniffer
8
- UnsupportedAdapterError = Class.new(StandardError)
9
8
  HandlerDoesNotMatchTheInterfaceError = Class.new(StandardError)
10
9
 
11
- ADAPTERS_MAP = {
12
- net_http: Adapters::NetHttpAdapter
13
- }.freeze
14
-
15
- def initialize(handler, adapter = :net_http, &block)
16
- adapter = validate_adapter(adapter)
10
+ def initialize(handler:, adapter: Adapters::NetHttpAdapter, &block)
17
11
  validate_handler(handler)
18
12
 
19
- adapter.new(handler).sniff(&block)
13
+ adapter.new(handler: handler).sniff(&block)
20
14
  end
21
15
 
22
16
  private
23
17
 
24
18
  def validate_handler(handler)
25
- return if handler.respond_to?(:handle)
19
+ return if handler.respond_to?(:call)
26
20
 
27
21
  raise HandlerDoesNotMatchTheInterfaceError
28
22
  end
29
-
30
- def validate_adapter(adapter)
31
- adapter = ADAPTERS_MAP[adapter]
32
-
33
- return adapter if adapter
34
-
35
- error_message = "maybe you have misspelled it. Appropriate types are: #{ADAPTERS_MAP.keys.join(', ')}"
36
- raise UnsupportedAdapterError, error_message
37
- end
38
23
  end
@@ -6,7 +6,7 @@ require "benchmark"
6
6
  class LittleSniffer
7
7
  module Adapters
8
8
  class NetHttpAdapter
9
- def initialize(handler)
9
+ def initialize(handler:)
10
10
  @handler = handler
11
11
  end
12
12
 
@@ -49,7 +49,7 @@ class LittleSniffer
49
49
  timing: bm
50
50
  }
51
51
 
52
- handler.handle(data)
52
+ handler.call(data)
53
53
 
54
54
  @response
55
55
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class LittleSniffer
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  end
@@ -20,10 +20,8 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = ["lib"]
21
21
 
22
22
  spec.add_development_dependency "bundler", "~> 2"
23
- spec.add_development_dependency "rake", ">= 12.3.3"
24
23
  spec.add_development_dependency "rspec", "~> 3.0"
25
- spec.add_development_dependency "rubocop"
26
- spec.add_development_dependency "pry-byebug"
27
- spec.add_development_dependency "sinatra", "~> 2.0"
28
- spec.add_development_dependency "puma", ">= 3.10.0"
24
+
25
+ spec.add_development_dependency "rack", '~> 2.2.3'
26
+ spec.add_development_dependency "thin", '~> 1.5.1'
29
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: little_sniffer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yakau Kranou
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-26 00:00:00.000000000 Z
11
+ date: 2021-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2'
27
- - !ruby/object:Gem::Dependency
28
- name: rake
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: 12.3.3
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: 12.3.3
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: rspec
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -53,61 +39,33 @@ dependencies:
53
39
  - !ruby/object:Gem::Version
54
40
  version: '3.0'
55
41
  - !ruby/object:Gem::Dependency
56
- name: rubocop
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: pry-byebug
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: sinatra
42
+ name: rack
85
43
  requirement: !ruby/object:Gem::Requirement
86
44
  requirements:
87
45
  - - "~>"
88
46
  - !ruby/object:Gem::Version
89
- version: '2.0'
47
+ version: 2.2.3
90
48
  type: :development
91
49
  prerelease: false
92
50
  version_requirements: !ruby/object:Gem::Requirement
93
51
  requirements:
94
52
  - - "~>"
95
53
  - !ruby/object:Gem::Version
96
- version: '2.0'
54
+ version: 2.2.3
97
55
  - !ruby/object:Gem::Dependency
98
- name: puma
56
+ name: thin
99
57
  requirement: !ruby/object:Gem::Requirement
100
58
  requirements:
101
- - - ">="
59
+ - - "~>"
102
60
  - !ruby/object:Gem::Version
103
- version: 3.10.0
61
+ version: 1.5.1
104
62
  type: :development
105
63
  prerelease: false
106
64
  version_requirements: !ruby/object:Gem::Requirement
107
65
  requirements:
108
- - - ">="
66
+ - - "~>"
109
67
  - !ruby/object:Gem::Version
110
- version: 3.10.0
68
+ version: 1.5.1
111
69
  description: Analyze HTTP Requests
112
70
  email:
113
71
  - yasha.krasnov@gmail.com