3bb53d7343
Kill almost all mutants in Zero::Request:AcceptType
...
Killed 13 of 14 mutants. I will see later, how it's possible to kill the last
one.
I also fixed the return value of "preferred", if the in initialize given string
is empty. Fixed the default value here.
2013-01-05 18:30:36 +01:00
5ca122b84c
Kill all mutants in Zero::Request::Accept
2013-01-04 20:25:48 +01:00
7870c5c51f
Kill mutant in Zero::Request::Server
2013-01-04 19:42:25 +01:00
f4fa025b4d
Add check if body is empty on 204 and 304 in specs
2013-01-04 16:46:21 +01:00
65b1d3a1da
Remove 1.8 fixes
...
The fixes for Ruby 1.8 will take place in a seperate gem. So I remove
all the changes here.
2012-12-23 12:23:14 +01:00
96f2b7a6c4
Replace 'parse_query_string' with 'decode_www_form_18' in test
2012-12-22 19:58:59 +01:00
fac934af6d
Renamed specfile. Will test other method here.
2012-12-22 19:19:02 +01:00
835234a52c
Improve query valid regex
...
Now a query string cannot look like 'foo=bar=foo' anymore.
2012-12-22 19:08:02 +01:00
bfca378f8f
Add first implementation of decode_www_form_18
...
Seperates now foo=bar&bar=foo;baz=foo queries. But does not fix url
encoded strings and such things.
Also added testcase for an empty query string.
2012-12-22 13:09:15 +01:00
443958f885
Add patch for URI decode_www_form
...
Plus some specs.
This should it make later possible to make Zero work with Ruby 1.8. But
at the moment it only routes to the original decode_www_form method, if
it exists. Otherwise it returns an empty Array. So this will still fail
on the 1.8 versions at the moment.
2012-12-22 11:44:26 +01:00
Gibheer
b20c0c527c
reuse render for actual rendering
...
The splitting of rendering and processing is good, but on the other side
it makes some double steps or even introduce workarounds.
That is why I made the method #render just a call to the renderer. This
should help much more than the strict seperation.
The method will only return the resulting string and not add it to the
body of the response. That still has to be taken care of by the user.
2012-12-18 04:24:24 +01:00
Gibheer
6fbb12c0fd
cleanup gemfile for jruby on travis
2012-12-17 19:22:20 +01:00
Gibheer
2353a579ca
initialize the response
2012-12-17 16:29:29 +01:00
Gibheer
7bda0ec7e5
added options to controller
...
This avoids hardcoding the options into the controller and therefore
should it make possible to use Rack::Request or Sinatra apps as
requests. (That sounds so weird.)
2012-12-13 08:45:03 +01:00
Gibheer
a95f1436c4
replaced .create with .new on Zero::Request
2012-12-12 18:38:46 +01:00
Gibheer
e0919c87e5
define the renderer at initialization
2012-12-10 21:12:45 +01:00
Gibheer
55052f83ef
avoid changing existing environment keys
2012-12-01 07:23:37 +01:00
6b9f34cb61
Optional setting of status code on redirect
2012-11-30 19:13:41 +01:00
facd4f143b
Add redirect to response
...
Now a relocation can be done, by calling redirect with the URL you want
relocate to.
This will set the Location header and set the status code to 302.
2012-11-30 18:58:32 +01:00
Gibheer
f89ef14687
specs for the renderer access
2012-11-30 16:22:49 +01:00
Gibheer
ec446a53b1
use URI to get parameters
2012-11-30 14:46:52 +01:00
Gibheer
9cea623595
don't overwrite the request
2012-11-29 22:22:50 +01:00
74bbc7f186
Throws an ArgumentError, if no template fits given types
2012-11-29 21:41:13 +01:00
67dd2aa4d5
Throws ArgumentError, if given template does not exist
2012-11-29 21:25:50 +01:00
eccd314e23
Add default value for default templates
...
If a template has no type specifcation in it's name, then we use
'default' as map name now.
2012-11-29 21:11:31 +01:00
Gibheer
c6623d47df
added custom parameters in the router
2012-11-29 20:02:28 +01:00
Gibheer
8c7eed073c
added custom parameter
2012-11-29 19:44:12 +01:00
Gibheer
2762f68363
better specs for render
2012-11-27 21:02:07 +01:00
Gibheer
43a6ada2ed
now the renderer correctly saves all templates
...
Before this fix the renderer was not able to save the templates and
types in the correct way. It still needs some cleanup, but it works now.
2012-11-26 21:41:09 +01:00
Gibheer
2a1499479a
specs for rendering
2012-11-26 21:41:09 +01:00
Gibheer
9e062519ba
first commit for the new renderer
...
This part handles the building of the template tree, which then gets
used later by the containers.
2012-11-26 21:41:09 +01:00
7213e3e8f6
Content-Length must be a String
2012-11-24 16:17:14 +01:00
8a75f9462d
Add an = at the end of the content_type method
...
Shall made use of this functionality more confortable, even if it's not
a real attribute of this class.
2012-11-24 15:35:23 +01:00
5c45e1e20b
Delete Content-Length. Conten-Type and body on status 304
2012-11-24 15:28:42 +01:00
bffdca6cb1
Delete Content-Length. Conten-Type and body on status 204
...
Should work, but somehow it doesn't...
2012-11-23 21:24:37 +01:00
fea8ac2bbd
Sets the Content-Type in to_a unless it is already set before
...
The default value is 'text/html'.
2012-11-23 20:05:58 +01:00
16eef08688
content_type sets the Content-Type header to the given value
2012-11-23 19:54:17 +01:00
78121c6eea
Sets the Content-Length in to_a unless it is already set before
2012-11-23 19:39:56 +01:00
c15e8bdacb
Sets Content-Type header in to_a
2012-11-23 19:35:14 +01:00
1b96ebb36d
Merge remote-tracking branch 'origin/master'
2012-11-23 18:10:27 +01:00
a2e6c299cd
Sets Content-Length to body string bytesize
...
Sets the Conten-Length to the bytesize of the joined body to cover UTF-8
2012-11-23 18:06:53 +01:00
b4e56c6868
Sets Content-Length to body string length
...
It joins the body array to a string and sets the Content-Length header
to its length.
2012-11-23 17:59:33 +01:00
963adb8ddc
content_length sets the Content-Length to 0
...
The method content_length creates a header named Content-Length and sets
its value to 0.
2012-11-23 17:43:39 +01:00
Gibheer
8e1b79663c
added a basic spec for the controller
2012-11-20 20:37:10 +01:00
2b79c3e840
Rename #finish to #to_a in response specs
2012-11-19 19:39:45 +01:00
2e073a07fa
Restructure response specs
...
Also no change in behaviour
2012-11-18 16:38:38 +01:00
3ff56d815a
Add default value for the body
2012-11-18 16:09:41 +01:00
3c3850a02b
Add default value for header
2012-11-18 15:02:07 +01:00
a76b08fbb3
Add default value to status code
2012-11-17 14:46:53 +01:00
633d5fb7c8
Converts any input in status to an integer
2012-11-17 14:35:15 +01:00