plezi 0.7.4 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7b74f28a320e2558c0478929989d9904ed191aa
4
- data.tar.gz: 3231b1fca07d1ac55bfd14f1eff40be0cb0a7154
3
+ metadata.gz: 09b7229f402afa705079f518c81040b58b0bcdb9
4
+ data.tar.gz: 051c27c22d072d67a071f131db12ff81f118b743
5
5
  SHA512:
6
- metadata.gz: bd7d3987c60cad451d7860296ece6fc2e19b24922c318a344fde248832d7bd7b91f956db0c6f600ccca185d7bb43401973036a79b4a8f8c405b08ce9a2a524f7
7
- data.tar.gz: 5ca2c5850793f1c23ddec678499989e2166062c9b4c67ae1deb2232eaa9db0069235bfaaad7482aff4728dc2ffaba59012f4ab8e0c22d278f5d7bdb44e807c1a
6
+ metadata.gz: 808a747010627be737fac767f277b650de4ae57ebd28cf3b3098a2b5c44790ddf0f69ffd1bec58ae4018fdb5e67f9953ad768890528627c450436416a0935e74
7
+ data.tar.gz: 35f5e69c499cb04f1e1e23b3f647ad209f960dae41248ce059a70ad958dca3357dfc79319130854a34c4d5a6735d149933281b0757005395ceed4f424b0e4289
@@ -2,6 +2,12 @@
2
2
 
3
3
  ***
4
4
 
5
+ Change log v.0.7.5
6
+
7
+ **fix**: fixed an issue where form data might not be decoded correctly, resulting in remainin '+' signs that weren't properly converted to spaces.
8
+
9
+ ***
10
+
5
11
  Change log v.0.7.4
6
12
 
7
13
  **change/fix**: it seems that behavior is more predictable when routes macgic parameters are non-persistent between routes. The old behavior (persistent parameters) is now limited to re-write routes.
@@ -90,6 +90,18 @@ module Plezi
90
90
  param_num = 0
91
91
  section_search = "([\\/][^\\/]*)"
92
92
  optional_section_search = "([\\/][^\\/]*)?"
93
+
94
+ # to check for routes formatted: /:paramater - required parameters
95
+ regexp_required_params = /^\:([^\(\)\{\}\:]*)$/
96
+ # to check for routes formatted: /(:paramater) - optional parameters
97
+ regexp_optional_params = /^\(\:([^\(\)\{\}\:]*)\)$/
98
+ # to check for routes formatted: /(:paramater){regexp} - optional formatted parameters
99
+ regexp_formatted_optional_params = /^\(\:([^\(\)\{\}\:]*)\)\{(.*)\}$/
100
+ # check for routes formatted: /:paramater{regexp} - required parameters
101
+ regexp_formatted_required_params = /^\:([^\(\)\{\}\:\/]*)\{(.*)\}$/
102
+ # check for routes formatted: /{regexp} - required path
103
+ regexp_formatted_path = /^\{(.*)\}$/
104
+
93
105
  @path = '^'
94
106
 
95
107
  # prep path string
@@ -124,34 +136,41 @@ module Plezi
124
136
  return
125
137
 
126
138
  # check for routes formatted: /:paramater - required parameters
127
- elsif section.match /^\:([^\(\)\{\}\:]*)$/
139
+ elsif section.match regexp_required_params
128
140
  #create a simple section catcher
129
141
  @path << section_search
130
142
  # add paramater recognition value
131
- @fill_parameters[param_num += 1] = section.match(/^\:([^\(\)\{\}\:]*)$/)[1]
132
-
133
- # check for routes formatted: /:paramater{regexp} - required parameters
134
- elsif section.match /^\:([^\(\)\{\}\:\/]*)\{(.*)\}$/
135
- #create a simple section catcher
136
- @path << ( "(\/(" + section.match(/^\:([^\(\)\{\}\:\/]*)\{(.*)\}$/)[2] + "))" )
137
- # add paramater recognition value
138
- @fill_parameters[param_num += 1] = section.match(/^\:([^\(\)\{\}\:\/]*)\{(.*)\}$/)[1]
139
- param_num += 1 # we are using two spaces
143
+ @fill_parameters[param_num += 1] = section.match(regexp_required_params)[1]
140
144
 
141
145
  # check for routes formatted: /(:paramater) - optional parameters
142
- elsif section.match /^\(\:([^\(\)\{\}\:]*)\)$/
146
+ elsif section.match regexp_optional_params
143
147
  #create a optional section catcher
144
148
  @path << optional_section_search
145
149
  # add paramater recognition value
146
- @fill_parameters[param_num += 1] = section.match(/^\(\:([^\(\)\{\}\:]*)\)$/)[1]
150
+ @fill_parameters[param_num += 1] = section.match(regexp_optional_params)[1]
147
151
 
148
152
  # check for routes formatted: /(:paramater){regexp} - optional parameters
149
- elsif section.match /^\(\:([^\(\)\{\}\:]*)\)\{(.*)\}$/
153
+ elsif section.match regexp_formatted_optional_params
150
154
  #create a optional section catcher
151
- @path << ( "(\/(" + section.match(/^\(\:([^\(\)\{\}\:]*)\)\{(.*)\}$/)[2] + "))?" )
155
+ @path << ( "(\/(" + section.match(regexp_formatted_optional_params)[2] + "))?" )
156
+ # add paramater recognition value
157
+ @fill_parameters[param_num += 1] = section.match(regexp_formatted_optional_params)[1]
158
+ param_num += 1 # we are using two spaces - param_num += should look for () in regex ? /[^\\](/
159
+
160
+ # check for routes formatted: /:paramater{regexp} - required parameters
161
+ elsif section.match regexp_formatted_required_params
162
+ #create a simple section catcher
163
+ @path << ( "(\/(" + section.match(regexp_formatted_required_params)[2] + "))" )
164
+ # add paramater recognition value
165
+ @fill_parameters[param_num += 1] = section.match(regexp_formatted_required_params)[1]
166
+ param_num += 1 # we are using two spaces - param_num += should look for () in regex ? /[^\\](/
167
+
168
+ # check for routes formatted: /{regexp} - formated path
169
+ elsif section.match regexp_formatted_path
170
+ #create a simple section catcher
171
+ @path << ( "\/(" + section.match(regexp_formatted_path)[1] + ")" )
152
172
  # add paramater recognition value
153
- @fill_parameters[param_num += 1] = section.match(/^\(\:([^\(\)\{\}\:]*)\)\{(.*)\}$/)[1]
154
- param_num += 1 # we are using two spaces
173
+ param_num += 1 # we are using one space - param_num += should look for () in regex ? /[^\\](/
155
174
 
156
175
  else
157
176
  @path << "\/"
@@ -232,11 +232,11 @@ module Plezi
232
232
  # parse content
233
233
  case @parser_data["content-type"].to_s
234
234
  when /x-www-form-urlencoded/
235
- HTTP.extract_data @parser_body.split(/[&;]/), @parser_data[:params], :uri
235
+ HTTP.extract_data @parser_body.split(/[&;]/), @parser_data[:params], :form # :uri
236
236
  when /multipart\/form-data/
237
237
  read_multipart @parser_data, @parser_body
238
238
  when /text\/xml/
239
- # to-do support xml? support json?
239
+ # to-do support xml?
240
240
  @parser_data[:body] = @parser_body.dup
241
241
  when /application\/json/
242
242
  @parser_data[:body] = @parser_body.dup
@@ -1,3 +1,3 @@
1
1
  module Plezi
2
- VERSION = "0.7.4"
2
+ VERSION = "0.7.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plezi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 0.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Boaz Segev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-22 00:00:00.000000000 Z
11
+ date: 2015-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  version: '0'
134
134
  requirements: []
135
135
  rubyforge_project:
136
- rubygems_version: 2.4.5
136
+ rubygems_version: 2.4.6
137
137
  signing_key:
138
138
  specification_version: 4
139
139
  summary: The Ruby Framework for real time web-apps, with Websockets, REST and HTTP