0
0
Fork 0
Commit Graph

30 Commits

Author SHA1 Message Date
Gibheer 7f0df1746a correct forwarded-for header 2014-03-05 10:06:07 +01:00
Gibheer 4aab135bc6 add x-forwarded-for header to the client
This adds the way to find out the actual ip of the client machine, even
if it is hidden behind a local reverse proxy.
2014-03-05 09:44:06 +01:00
Gibheer a0422c1054 add cookie support to response
This commit adds support for response cookies. Response now has a method
cookie to fetch the current cookie. One cookie has multiple crumbs which
represent a key value pair. For each crumb multiple options can be set
according to the specs.
2013-10-28 14:37:24 +01:00
Gibheer 6ad7650c05 add cookie support in requests 2013-10-22 17:07:16 +02:00
Gibheer 3e0a3f20a7 allow a dash in the middle url part 2013-09-10 08:56:24 +02:00
Gibheer defb7703c6 sort routes for more specific results
This change sorts the routes to get the most specific routes first and
avoid hitting a route which is not the most specific match.
With this the regex to extract variables is made more strict to avoid
matching half of the URI.
2013-09-09 15:45:59 +02:00
Gibheer a3caf9ac06 add partial render method
This enables the user to render partial templates to embed them into
other templates and the like.
2013-09-03 08:45:55 +02:00
Gibheer 603dce8628 add request method override for browsers
Browsers are not able to send put, delete or any other request from a
plain html form. This limits the possibilities with APIs so an override
was introduced in many frameworks in the form, that `_method` could be
defined in a post payload.
With this, zero also supports `_method` in the post payload to make it
possible to use all functions of the API with javascript through plain
html.
2013-08-14 08:12:39 +02:00
Gibheer 00e0c01703 fix paramter extraction with charset
This fixes a bug where a charset in the content type blocked the
extraction of the payload.
A browser may send a string like

  multipart/form-data; charset=UTF-8

which include? could not find the defined types. Now it gets split and
then checked against the defined types.
2013-08-13 13:20:36 +02:00
Gibheer 30215c37d1 make it possible to push lists as paramters
This makes it possible to push lists as paramters by naming the
variables with `[]` at the end, for example `foo[]`.
2013-08-06 14:15:54 +02:00
Gibheer e2f3e29a34 extend server with protocol information
This extends the server class with the information, if it is serving
http or https. This can then be used to generate a root uri to the web
application.
2013-07-26 14:46:33 +02:00
Gibheer 89e2efeffa Revert "generate a name from the server details"
This reverts commit 94a2d399eb.
2013-07-22 15:35:34 +02:00
Gibheer 94a2d399eb generate a name from the server details 2013-07-22 15:17:28 +02:00
Gibheer 7fd2f6b25b reworked the renderer
The renderer is now a bit smaller and asks the TemplateFinder for the
actual resources. That way it can just concentrate on rendering instead
of finding out, which stuff actually exists and which not.
2013-02-27 22:27:02 +01:00
Gibheer 714c540e4b reworked parts of the template finder
The template finder is now the instance to ask for templates. It was
already looking for them, so it should be able to handle questions
regarding the existence of templates too.
2013-02-27 21:15:05 +01:00
Gibheer a6fa1475a2 cleanup old specs 2013-02-12 08:39:45 +01:00
Gibheer f18ab69a91 extracted the building of template tree
This step is a preparation to extend the functionality of the renderer.
To make the main class easier, the search for templates and building of
the tree is extracted into its own class.
2013-02-12 08:29:33 +01:00
Gibheer 1133c4106f rename spec for mutant
That kills 52 mutations!
2013-02-04 18:03:43 +01:00
Gibheer 335dbdd487 catch empty routes
This fixes a bug where an empty route would catch all requests resulting
in all routes found with the empty route.
2013-01-29 15:28:59 +01:00
Gibheer a2aed1fa20 make request and response static
This is a step back but makes the controller work for the moment. It
should be reimplemented in a better way in the future.
2013-01-29 10:34:48 +01:00
Gibheer b317b05f90 use new api of class_options 2013-01-28 15:49:53 +01:00
Gibheer 399e0ea338 use class_options for the controller 2013-01-11 16:02:26 +01:00
Gibheer c75f61de6e added a spec for custom parameters 2013-01-11 08:06:35 +01:00
Gibheer 6fd096d4ab split of specs for [] and []=
As mutant can't use one spec file for both methods it got split up into
two. I also cleaned up the tests and made them (hopefully) better
readable.
2013-01-11 08:05:43 +01:00
Gibheer d645a2eb49 reworked the tests to make them cleaner
The tests now use simple lists for the types to make it easier to
distinguish between all elements.
The tests themselves are also shared now.
2013-01-10 21:43:12 +01:00
Stormwind 0ef61c062f Rename Zero::Request::AcceptType spec folder 2013-01-10 20:18:03 +01:00
Stormwind 158dc45ba6 Kill the last mutant in Zero::Request:AcceptType 2013-01-10 19:37:03 +01:00
Gibheer ae0b32a58f take strings for body
This makes the assignment for bodies easier when using plain Strings.
They get wrapped in an array as per rack definition.
For every other type, they have to implement each and get directly set
as body or have to be rendered to Strings first.
2013-01-09 20:08:26 +01:00
Stormwind 69aa01cabc Split response_spec.rb into single test files 2013-01-06 20:46:29 +01:00
Stormwind 3a82183563 Improve test structure
Created folder spec/unit/zero and moved all unittest into this folder.
2013-01-06 20:24:39 +01:00