Cristian Hancila
4ddacaf6f6
charsets_provided in rest module to return [binary()]
2012-11-27 15:40:44 -05:00
Loïc Hoguin
d3277b08ce
Fix examples in cowboy_static edoc
2012-10-19 01:32:18 +02:00
Loïc Hoguin
e347ae40d0
Merge pull request #288 from j0sh/master
...
Clarify docs for known_methods and allowed_methods.
2012-10-15 12:17:43 -07:00
Loïc Hoguin
f59ee550ad
Add Introduction chapter to the guide
2012-10-15 14:35:52 +02:00
Josh Allmann
65c5d576c8
Clarify docs for known_methods and allowed_methods.
2012-10-13 15:15:15 -07:00
Loïc Hoguin
09914c4693
Allow websocket handlers to reply more than one frame
...
Instead of returning {text, Data}, you can now return
[{text, Data}, {text, Data2}, ...].
2012-10-11 21:46:43 +02:00
Loïc Hoguin
160063497c
Start crypto also in the examples and documentation
2012-10-11 20:52:29 +02:00
Loïc Hoguin
7b3d9943a9
Merge branch 'dbmercer-patch-1' of git://github.com/dbmercer/cowboy.git
2012-10-11 20:48:29 +02:00
dbmercer
b5fdf02af0
Modified static example to send appropriate MIME type
...
Modified the static example in the examples subdirectory
to use the mimetypes application to determine the appropriate
MIME type to send down the wire in the HTTP headers of the reply.
2012-10-11 20:47:35 +02:00
Loïc Hoguin
642a8f73c9
Fix Vary header, was wrongly named Variances previously
2012-10-11 20:44:53 +02:00
Loïc Hoguin
e128e935af
Fix the autobahn test suite
...
All tests still pass! (Excluding UTF-8 of course.)
2012-10-11 20:35:23 +02:00
Loïc Hoguin
aeb86e70c1
Add crypto into the required applications
...
As suggested by @prof3ta.
2012-10-11 20:13:23 +02:00
Loïc Hoguin
9facad9245
Cleanup cowboy_req:parse_header/3
...
As suggested by @yrashk.
2012-10-11 20:03:34 +02:00
Loïc Hoguin
1f9d71c3f5
Update ROADMAP.md
2012-10-05 00:29:34 +02:00
Loïc Hoguin
a20702fc59
Add CONTRIBUTING.md file
2012-10-05 00:28:12 +02:00
Loïc Hoguin
c4858d948e
Update CHANGELOG
2012-10-05 00:18:36 +02:00
Loïc Hoguin
76cd1e40c9
The onresponse hook now receives 4 arguments, including the body
...
We do not always provide the body however. It is not available
when using chunked replies, or when using set_resp_body_fun.
2012-10-04 22:59:33 +02:00
Loïc Hoguin
7367f07ca0
Fix the parsing of the Connection header
2012-10-04 18:38:47 +02:00
Loïc Hoguin
3969b51a55
Merge pull request #272 from seryl/fix_readme_relative_links
...
Fixing relative links
2012-10-02 21:43:38 -07:00
Josh Toft
958c4f7283
Fixing relative links
2012-10-01 16:05:54 -07:00
Loïc Hoguin
4594412a10
Merge pull request #271 from seryl/rest_to_readme
...
Add rest_hello_world link to examples README
2012-10-01 14:51:58 -07:00
Josh Toft
e7a66b9c1e
Add rest_hello_world link to examples README
2012-10-01 13:21:45 -07:00
Loïc Hoguin
f060d2dfca
Merge pull request #269 from seryl/patch-1
...
Fixing recursive examples README
2012-10-01 11:42:40 -07:00
Josh Toft
855828d15c
Make example README's more thorough
2012-10-01 10:37:24 -07:00
Loïc Hoguin
0e01b82046
Remove a redundant function
2012-09-29 19:33:10 +02:00
Loïc Hoguin
1f6c324c3f
Merge pull request #254 from billiob/master
...
fix typo in doc
2012-09-29 05:20:28 -07:00
Loïc Hoguin
2e0a2a1c9e
Add max_headers option
...
It is only enforced when Cowboy needs to wait for more data.
Also fix a few types and a few status codes.
2012-09-29 13:57:30 +02:00
Loïc Hoguin
90c92850b7
Add missing options in the cowboy_protocol documentation
2012-09-29 13:24:40 +02:00
Loïc Hoguin
b4d1407d63
Fix a small edoc issue
2012-09-29 13:16:48 +02:00
Loïc Hoguin
ce9aff19f0
Remove the urldecode cowboy_protocol option
...
This allows inconsistent behavior and is not used enough to be supported.
2012-09-29 13:03:45 +02:00
Loïc Hoguin
c326a195e0
Add cowboy_req:get/2 and :set/2 private functions
...
They should not be used unless you have a very special need,
which generally involves interacting with the internals of Cowboy.
2012-09-29 11:08:59 +02:00
Loïc Hoguin
0b82eebed6
Update CHANGELOG
2012-09-27 02:57:06 +02:00
Loïc Hoguin
cd7f37d346
Optimize Connection header parsing
...
Still optimizing the critical path.
Removes cowboy_http:connection_to_atom/1.
2012-09-27 01:31:19 +02:00
Loïc Hoguin
681a216a24
Add cowboy_req:fragment/1
...
Allows retrieving the request URI fragment (the #fragment part).
2012-09-27 01:30:30 +02:00
Loïc Hoguin
b2243aa544
Optimize cowboy_protocol
...
* #state{} changes are avoided where possible
* #state{} is now smaller and use less memory
* the Req object is created only after the whole request is parsed
* parsing makes use of a single binary match context
* external calls are avoided in the critical path
* URL fragment is now extracted properly (retrieval API next commit)
* argument orders to local functions modified to avoid extra operations
* dispatching waits as long as possible before tokenizing host/path
* handler opts are no longer shown in the error messages except in init
The code may not look as beautiful as it was before. But it really
is, for parsing code. The parsing section of the file may be skipped
if your eyes start to burn.
2012-09-26 14:20:29 +02:00
Loïc Hoguin
bfab8d4b22
Use a single Transport:send/2 call to send the reply if possible
...
This gives a huge boost in performance when replies are small.
2012-09-26 14:20:29 +02:00
Loïc Hoguin
7481cf9963
Update Ranch to latest commit
2012-09-26 14:20:18 +02:00
Loïc Hoguin
e30c6debdc
Remove a '++' use when replying
2012-09-24 04:53:24 +02:00
Loïc Hoguin
3c10d54883
Removal of binary:split from cowboy_dispatcher and small optimizations
...
The internal host_tokens value now has host tokens in reverse order
compared to before. This allows us to remove one lists:reverse call.
2012-09-24 04:53:12 +02:00
Loïc Hoguin
793d058125
Use binary:match/2 instead of binary:split/2 in cowboy_dispatcher
...
Didn't replace everything, just the ones that didn't use the
global option. Also removed a couple now useless code paths.
2012-09-24 00:54:05 +02:00
Loïc Hoguin
9d4f4ec9c7
Extract the buffer out of the #state{} in cowboy_protocol
...
This reduces the number of operations done each time the buffer changes.
2012-09-23 22:41:32 +02:00
Loïc Hoguin
332c274d87
Use binary:match/2 instead of binary:split/2 in cowboy_http
...
Also fix a bug introduced in a previous commit.
2012-09-23 21:25:54 +02:00
Loïc Hoguin
ff3c5c7f45
Improve state reset between requests
2012-09-23 16:50:44 +02:00
Loïc Hoguin
8a6baac9ad
Use binary:match/2 instead of binary:split/2
...
The former is a BIF while the latter is not.
2012-09-23 16:50:06 +02:00
Loïc Hoguin
981ea359ba
Update CHANGELOG
2012-09-21 13:14:25 +02:00
Loïc Hoguin
e27fd5fcb9
Make multipart part headers binary lowercase
...
Here we do not remove decode_packet yet, we just lowercase the
header name and transform it into a binary if needed, to fix
the consistency issue.
2012-09-21 13:07:51 +02:00
Loïc Hoguin
34021666cb
Don't use decode_packet/3 for parsing the headers
...
Header names are now binaries. Since header names are case insensitive
they are all converted to lowercase. For example: <<"content-length">>.
The max_line_length option was removed. Three new options have been
added instead:
* max_request_line_length (defaults to 4096)
* max_header_name_length (defaults to 64)
* max_header_value_length (defaults to 4096)
2012-09-21 09:18:56 +02:00
Loïc Hoguin
8497c8bbcd
Don't use decode_packet/3 for parsing the request-line
...
First step in making all methods and header names binaries to
get rid of many inconsistencies caused by decode_packet/3.
Methods are all binary now. Note that since they are case
sensitive, the usual methods become <<"GET">>, <<"POST">> and so on.
2012-09-21 08:54:57 +02:00
Boris Faure
9393613214
fix typo in doc
2012-09-17 20:56:29 +02:00
Loïc Hoguin
f6791b008a
Update CHANGELOG
2012-09-17 14:02:29 +02:00