cleaver 0.0.5 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
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"'