cleaver 0.0.5 → 0.0.7

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 (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/cleaver.rb +34 -0
  3. metadata +5 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b3155d90be5f911e6d1b3aed0ea9471b84914190
4
- data.tar.gz: 092725cb4281606765309eddea4dffcf59531cfa
3
+ metadata.gz: ff743a63e62251872a3c8e2299bb9480b74be0a9
4
+ data.tar.gz: ac9146c4a25f84a98f0c8fd46f149b65284be7c3
5
5
  SHA512:
6
- metadata.gz: e3bd19ad7d8e5acbdd431a713a0d38603a95e9fde90a6f738c436a2dbdcfbaf0af6c012f30fffb3a6db2a0ba63d98b7ef73af45420fe7cace96d3abc4325d08b
7
- data.tar.gz: 00a71254abf4196837778313914ae88f54efeaf7e069028b41f89b3b55ee3957f842e8c3dee181776205c1457beb7c2929bd9deb09f70c0162aa756368d6b5c0
6
+ metadata.gz: 0faa65e4eae814fe0b387f7445e43201b53a6100e7e4b50fbfc4d93da1346bcb46b800fc7744fb162b6b9f33de3d757075d52c9f77b59e0de0ca22c7082cf0f4
7
+ data.tar.gz: 0f92df8c557ad1ef72de89621a4002801a34ad40f47172feb64a7d4abedf66b6e76f43a3cc9f135e119fec281af0ea5e23ee2c7685c361c2419ef1ae928e1c56
@@ -0,0 +1,34 @@
1
+ class Cleaver
2
+
3
+ attr_accessor :header, :params
4
+
5
+ def initialize(params, header)
6
+ @header = header
7
+ @params = params
8
+ end
9
+
10
+ def self.parse(client)
11
+ request_header = ''
12
+ content_length_line = ''
13
+ i = 0
14
+ while i < 12
15
+ line = client.gets
16
+ if line.include?("Content-Length")
17
+ content_length_line = line
18
+ end
19
+ request_header += line
20
+ i += 1
21
+ end
22
+ content_length = content_length_line.split(' ')[1].to_i
23
+ params = {}
24
+ params_string = client.read(content_length).split('&').each do |el|
25
+ params_arr = el.split('=')
26
+ params[params_arr[0].to_sym] = params_arr[1]
27
+ end
28
+
29
+ instance = new(params, request_header)
30
+
31
+ return instance
32
+ end
33
+
34
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cleaver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - neelp22
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-08-18 00:00:00.000000000 Z
11
+ date: 2014-08-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -45,7 +45,8 @@ email:
45
45
  executables: []
46
46
  extensions: []
47
47
  extra_rdoc_files: []
48
- files: []
48
+ files:
49
+ - lib/cleaver.rb
49
50
  homepage: http://rubygems.org/gems/cleaver
50
51
  licenses:
51
52
  - MIT
@@ -66,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
67
  version: '0'
67
68
  requirements: []
68
69
  rubyforge_project:
69
- rubygems_version: 2.2.2
70
+ rubygems_version: 2.4.1
70
71
  signing_key:
71
72
  specification_version: 4
72
73
  summary: '"Parses HTTP Request bodies when using Ruby''s TCP class to create a server"'