strelka 0.0.1.pre.284 → 0.0.1.pre.290
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.
- data/ChangeLog +28 -1
- data/Rakefile +1 -1
- data/bin/strelka +1 -1
- data/lib/strelka/app/restresources.rb +1 -1
- data/lib/strelka/httprequest.rb +7 -6
- data/lib/strelka/mixins.rb +1 -1
- data/lib/strelka/paramvalidator.rb +1 -0
- data/spec/data/forms/testform.form +7 -7
- data/spec/strelka/httprequest_spec.rb +10 -7
- data.tar.gz.sig +0 -0
- metadata +4 -4
- metadata.gz.sig +1 -4
data/ChangeLog
CHANGED
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
2012-08-03 Mahlon E. Smith <mahlon@martini.nu>
|
|
2
|
+
|
|
3
|
+
* lib/strelka/paramvalidator.rb:
|
|
4
|
+
Add a paramvalidator built-in for matching UUIDs.
|
|
5
|
+
[3e38478b3f4d] [tip]
|
|
6
|
+
|
|
7
|
+
2012-07-27 Michael Granger <ged@FaerieMUD.org>
|
|
8
|
+
|
|
9
|
+
* .rvm.gems, Rakefile:
|
|
10
|
+
Bumping mongrel2 dependency
|
|
11
|
+
[c098284fe5df]
|
|
12
|
+
|
|
13
|
+
* bin/strelka:
|
|
14
|
+
Load apps before loading configs so app dependencies contribute to
|
|
15
|
+
config defaults
|
|
16
|
+
[40f1a13a41d7]
|
|
17
|
+
|
|
18
|
+
* lib/strelka/mixins.rb:
|
|
19
|
+
Fix documentation for Strelka::MethodUtilities
|
|
20
|
+
[d4a1f8b96550]
|
|
21
|
+
|
|
22
|
+
2012-07-18 Michael Granger <ged@FaerieMUD.org>
|
|
23
|
+
|
|
24
|
+
* lib/strelka/app/restresources.rb:
|
|
25
|
+
Fix type on error message
|
|
26
|
+
[67379f896726]
|
|
27
|
+
|
|
1
28
|
2012-07-17 Michael Granger <ged@FaerieMUD.org>
|
|
2
29
|
|
|
3
30
|
* bin/strelka, lib/strelka/app/restresources.rb,
|
|
@@ -6,7 +33,7 @@
|
|
|
6
33
|
spec/strelka/app/restresources_spec.rb,
|
|
7
34
|
spec/strelka/paramvalidator_spec.rb:
|
|
8
35
|
Clean up some :restresources behavior
|
|
9
|
-
[153e65a22805]
|
|
36
|
+
[153e65a22805]
|
|
10
37
|
|
|
11
38
|
2012-07-16 Michael Granger <ged@FaerieMUD.org>
|
|
12
39
|
|
data/Rakefile
CHANGED
|
@@ -28,7 +28,7 @@ hoespec = Hoe.spec 'strelka' do
|
|
|
28
28
|
self.dependency 'highline', '~> 1.6'
|
|
29
29
|
self.dependency 'inversion', '~> 0.11'
|
|
30
30
|
self.dependency 'loggability', '~> 0.4'
|
|
31
|
-
self.dependency 'mongrel2', '~> 0.
|
|
31
|
+
self.dependency 'mongrel2', '~> 0.30'
|
|
32
32
|
self.dependency 'pluginfactory', '~> 1.0'
|
|
33
33
|
self.dependency 'sysexits', '~> 1.0'
|
|
34
34
|
self.dependency 'trollop', '~> 1.16'
|
data/bin/strelka
CHANGED
|
@@ -295,8 +295,8 @@ class Strelka::CLICommand
|
|
|
295
295
|
]
|
|
296
296
|
fork do
|
|
297
297
|
self.log.debug " in the child."
|
|
298
|
-
Strelka.load_config( self.options.config ) if self.options.config
|
|
299
298
|
apps = Strelka::App.load( path )
|
|
299
|
+
Strelka.load_config( self.options.config ) if self.options.config
|
|
300
300
|
self.log.debug " loaded: %p" % [ apps ]
|
|
301
301
|
apps.first.run
|
|
302
302
|
end
|
|
@@ -480,7 +480,7 @@ module Strelka::App::RestResources
|
|
|
480
480
|
self.log.debug "Adding dataset method read handler: %s" % [ path ]
|
|
481
481
|
|
|
482
482
|
config = rsrcobj.db_schema[ param ] or
|
|
483
|
-
raise ArgumentError, "no such column %p for %p" % [
|
|
483
|
+
raise ArgumentError, "no such column %p for %p" % [ param, rsrcobj ]
|
|
484
484
|
param( param, config[:type] )
|
|
485
485
|
|
|
486
486
|
self.add_route( :GET, path, options ) do |req|
|
data/lib/strelka/httprequest.rb
CHANGED
|
@@ -181,13 +181,13 @@ class Strelka::HTTPRequest < Mongrel2::HTTPRequest
|
|
|
181
181
|
|
|
182
182
|
### Return a Hash of request form data.
|
|
183
183
|
def parse_form_data
|
|
184
|
-
unless self.
|
|
184
|
+
unless self.content_type
|
|
185
185
|
finish_with( HTTP::BAD_REQUEST, "Malformed request (no content type?)" )
|
|
186
186
|
end
|
|
187
187
|
|
|
188
188
|
self.body.rewind
|
|
189
189
|
|
|
190
|
-
case self.
|
|
190
|
+
case self.content_type.split( ';' ).first
|
|
191
191
|
when 'application/x-www-form-urlencoded'
|
|
192
192
|
return merge_query_args( URI.decode_www_form(self.body.read) )
|
|
193
193
|
when 'application/json', 'text/javascript'
|
|
@@ -195,16 +195,17 @@ class Strelka::HTTPRequest < Mongrel2::HTTPRequest
|
|
|
195
195
|
when 'text/x-yaml', 'application/x-yaml'
|
|
196
196
|
return YAML.load( self.body )
|
|
197
197
|
when 'multipart/form-data'
|
|
198
|
-
boundary = self.
|
|
198
|
+
boundary = self.content_type[ /\bboundary=(\S+)/, 1 ] or
|
|
199
199
|
raise Strelka::ParseError, "no boundary found for form data: %p" %
|
|
200
|
-
[ self.
|
|
200
|
+
[ self.content_type ]
|
|
201
201
|
boundary = dequote( boundary )
|
|
202
202
|
|
|
203
203
|
parser = Strelka::MultipartParser.new( self.body, boundary )
|
|
204
204
|
return parser.parse
|
|
205
205
|
else
|
|
206
|
-
|
|
207
|
-
[ self.
|
|
206
|
+
self.log.debug "don't know how to handle %p form data" %
|
|
207
|
+
[ self.content_type ]
|
|
208
|
+
return {}
|
|
208
209
|
end
|
|
209
210
|
end
|
|
210
211
|
|
data/lib/strelka/mixins.rb
CHANGED
|
@@ -224,7 +224,7 @@ module Strelka
|
|
|
224
224
|
# A collection of methods for declaring other methods.
|
|
225
225
|
#
|
|
226
226
|
# class MyClass
|
|
227
|
-
#
|
|
227
|
+
# extend Strelka::MethodUtilities
|
|
228
228
|
#
|
|
229
229
|
# singleton_attr_accessor :types
|
|
230
230
|
# singleton_method_alias :kinds, :types
|
|
@@ -123,6 +123,7 @@ class Strelka::ParamValidator < ::FormValidator
|
|
|
123
123
|
:email => /^(?<email>#{RFC822_EMAIL_ADDRESS})$/,
|
|
124
124
|
:hostname => /^(?<hostname>#{RFC1738_HOSTNAME})$/,
|
|
125
125
|
:uri => /^(?<uri>#{URI::URI_REF})$/,
|
|
126
|
+
:uuid => /^(?<uuid>[[:xdigit:]]{8}(?:-[[:xdigit:]]{4}){3}-[[:xdigit:]]{12})$/i
|
|
126
127
|
}
|
|
127
128
|
|
|
128
129
|
# Pattern to use to strip binding operators from parameter patterns so they
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Content-Disposition: fProgram Files\Documents\testfile.rtf"
|
|
3
3
|
Content-Type: application/rtf
|
|
4
4
|
|
|
5
|
-
{\rtfcpg10000\cocoartf824\cocoasubrtf420
|
|
6
|
-
{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
|
|
7
|
-
{\colortbl;\red255\green255\blue255;}
|
|
8
|
-
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
|
|
9
|
-
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
|
|
10
|
-
|
|
5
|
+
{\rtfcpg10000\cocoartf824\cocoasubrtf420
|
|
6
|
+
{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
|
|
7
|
+
{\colortbl;\red255\green255\blue255;}
|
|
8
|
+
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
|
|
9
|
+
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural
|
|
10
|
+
|
|
11
11
|
\f0\fs24 \cf0 This is a test of the ThingFish upload handler. This is only a test. If this were real, you'd hear people screaming outside in anguish, and emergency sirens blaring.}
|
|
12
12
|
--sillyboundary
|
|
13
13
|
Content-Disposition: form-data; name="thingfish-upload"; filename=""
|
|
@@ -34,7 +34,7 @@ Content-Disposition: form-data; name="thingfish-metadata-namespace"
|
|
|
34
34
|
|
|
35
35
|
testing
|
|
36
36
|
--sillyboundary
|
|
37
|
-
Content-
|
|
37
|
+
Content-Disposition: form-data; name="thingfish-metadata-rating"
|
|
38
38
|
|
|
39
39
|
5
|
|
40
40
|
--sillyboundary--
|
|
@@ -23,7 +23,7 @@ require 'strelka/cookie'
|
|
|
23
23
|
describe Strelka::HTTPRequest do
|
|
24
24
|
|
|
25
25
|
before( :all ) do
|
|
26
|
-
setup_logging(
|
|
26
|
+
setup_logging()
|
|
27
27
|
@request_factory = Mongrel2::RequestFactory.new( route: '/directory' )
|
|
28
28
|
end
|
|
29
29
|
|
|
@@ -237,14 +237,17 @@ describe Strelka::HTTPRequest do
|
|
|
237
237
|
|
|
238
238
|
before( :each ) do
|
|
239
239
|
@req = @request_factory.post( '/directory/path', '',
|
|
240
|
-
'Content-type' => 'multipart/form-data' )
|
|
240
|
+
'Content-type' => 'multipart/form-data; boundary=--a_boundary' )
|
|
241
241
|
end
|
|
242
242
|
|
|
243
|
-
it "returns
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
243
|
+
it "returns a hash for form parameters" do
|
|
244
|
+
@req.body = "----a_boundary\r\n" +
|
|
245
|
+
%{Content-Disposition: form-data; name="title"\r\n} +
|
|
246
|
+
%{\r\n} +
|
|
247
|
+
%{An Impossible Task\r\n} +
|
|
248
|
+
%{----a_boundary--\r\n}
|
|
249
|
+
|
|
250
|
+
@req.params.should == {'title' => 'An Impossible Task'}
|
|
248
251
|
end
|
|
249
252
|
|
|
250
253
|
end
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: strelka
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.1.pre.
|
|
4
|
+
version: 0.0.1.pre.290
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -36,7 +36,7 @@ cert_chain:
|
|
|
36
36
|
YUhDS0xaZFNLai9SSHVUT3QrZ2JsUmV4OEZBaDhOZUEKY21saFhlNDZwWk5K
|
|
37
37
|
Z1dLYnhaYWg4NWpJang5NWhSOHZPSStOQU01aUg5a09xSzEzRHJ4YWNUS1Bo
|
|
38
38
|
cWo1UGp3RgotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
|
|
39
|
-
date: 2012-
|
|
39
|
+
date: 2012-08-08 00:00:00.000000000 Z
|
|
40
40
|
dependencies:
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: configurability
|
|
@@ -141,7 +141,7 @@ dependencies:
|
|
|
141
141
|
requirements:
|
|
142
142
|
- - ~>
|
|
143
143
|
- !ruby/object:Gem::Version
|
|
144
|
-
version: '0.
|
|
144
|
+
version: '0.30'
|
|
145
145
|
type: :runtime
|
|
146
146
|
prerelease: false
|
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -149,7 +149,7 @@ dependencies:
|
|
|
149
149
|
requirements:
|
|
150
150
|
- - ~>
|
|
151
151
|
- !ruby/object:Gem::Version
|
|
152
|
-
version: '0.
|
|
152
|
+
version: '0.30'
|
|
153
153
|
- !ruby/object:Gem::Dependency
|
|
154
154
|
name: pluginfactory
|
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
metadata.gz.sig
CHANGED
|
@@ -1,4 +1 @@
|
|
|
1
|
-
|
|
2
|
-
�t�
|
|
3
|
-
hDM��Eڙ���r~�X�d9�)4�LC��cP�J��=�.���%��:t�]l����8]�RDx8T�b�Vܥ���L�D����Aԫ1��.NM38�Z����(*:��I�e|Q��|���+���/
|
|
4
|
-
�������Y�/{�5�>��Z�~��>��X�8��6KY���=�0��suD7�K�2��:0e�fI4��Yz3B
|
|
1
|
+
��L�5i:��ռ݃�'��l���As�1�,ҳ� &M��d4��;2�] SbZϮ���`���-��j���� x��o"諈'�H`Ǯz��~A��a� �5�&L.�^3<c��߀�]5`k댩�H���p���U'����.4X�'�u����A��]�#�\��J�&���q�&�ׯ�(?}�2��K��F>G�pV��B������L� ��u�J�)r������l��weO��?
|