Loïc Hoguin
99d8f837fe
Fix specs to allow headers as iodata() and not just binary()
2011-12-05 07:54:56 +01:00
Loïc Hoguin
83ec63374f
Change the returned value for language_range parsing
...
Considering how it must be used, a simple binary is much better
than a tag and a list of subtags. We still parse them like this
to make sure they follow the specs, though.
2011-12-01 20:38:38 +01:00
Loïc Hoguin
2ae5e804fb
Weekdays are binaries and not lists
...
Spotted by devinus on IRC.
2011-11-28 21:18:03 +01:00
Loïc Hoguin
ad87fee0af
Fix a websocket test handler that was throwing an unwanted error
...
The test still worked because we expect the websocket connection
to fail, but it didn't fail exactly the way we wanted it to.
2011-11-28 09:14:07 +01:00
Loïc Hoguin
64a40cb479
Add set_resp_header/3 and set_resp_body/2 to cowboy_http_req
...
These functions allow to set response headers and body in advance,
before calling any of the reply functions.
Also add has_resp_header/2 and has_resp_body/1 to check if the given
response headers have already been set.
2011-11-28 09:09:41 +01:00
Loïc Hoguin
dcc3d83e31
Fix default parsed values for the Accept and Accept-* headers
2011-11-24 21:35:55 +01:00
Loïc Hoguin
f1c94c40f8
Fix specs for cowboy_http:language_range_ret/3
2011-11-24 21:32:27 +01:00
Loïc Hoguin
a5b47fda8d
Merge branch 'content-type' of https://github.com/nox/cowboy
2011-11-10 12:55:00 +01:00
Anthony Ramine
6fa7659dbb
Support 'Content-Type' in parse_header/2
2011-11-10 11:53:37 +01:00
Anthony Ramine
b184b3588d
Introduce cowboy_http:media_type/2
2011-11-10 11:03:22 +01:00
Anthony Ramine
329b2fa01e
Introduce cowboy_http:word/2
...
Used to parse either a token or a quoted string in parameters values.
2011-11-10 11:03:21 +01:00
Loïc Hoguin
2f27b046d7
Add 'If-Match' and 'If-None-Match' to parse_header/2
2011-11-09 21:41:33 +01:00
Loïc Hoguin
12b9ca3526
Fix reading the request body when Length < byte_size(Buffer)
2011-11-07 19:17:49 +01:00
Loïc Hoguin
6dbe2b2130
Add 'Accept-Language' to cowboy_http_req:parse_header/2
2011-11-07 00:53:19 +01:00
Loïc Hoguin
3e443f0a6c
Remove the IS_DIGIT macro
2011-11-05 03:23:21 +01:00
Loïc Hoguin
aba1ea4636
Add 'If-Modified-Since' and 'If-Unmodified-Since' to parse_header/2
...
Implementing the full HTTP-date type (RFC1123, RFC850, asctime).
2011-11-05 01:49:03 +01:00
Loïc Hoguin
aadd974f06
Merge branch 'parse_header-content-length' of https://github.com/nox/cowboy
...
Conflicts:
src/cowboy_http.erl
2011-11-04 12:33:40 +01:00
Anthony Ramine
04bcbc444d
Support 'Content-Length' in parse_header/2
2011-11-04 12:21:01 +01:00
Loïc Hoguin
a118f53c74
Remove unneeded whitespaces according to the HTTP spec
2011-11-04 11:58:45 +01:00
Loïc Hoguin
77b3562257
Rename cowboy_http:charset/2 to conneg/2 and use it for Accept-Encoding
...
Sorry I apparently used an outdated RFC when I was doing this.
2011-11-04 10:38:04 +01:00
Loïc Hoguin
68c1d886e5
Merge branch 'chrome-15' of https://github.com/puzza007/cowboy
2011-11-01 15:55:40 +01:00
Loïc Hoguin
3ce2865d84
Set the cowboy_listener process priority to high
...
See comment added with it for more information.
2011-11-01 15:53:51 +01:00
Paul Oliver
89752a2769
update record spec for version 13
2011-10-30 11:22:12 +00:00
Loïc Hoguin
774659ec03
Merge branch 'chunk-spec' of https://github.com/puzza007/cowboy
2011-10-30 01:32:40 +02:00
Paul Oliver
bd90df1f5e
Fix cowboy_http_req:chunk/2 spec
2011-10-29 15:48:43 +01:00
Loïc Hoguin
d9da5334d2
Merge branch 'supervisor-relup-fix' of https://github.com/smarkets/cowboy
2011-10-28 18:09:09 +02:00
Steven Gravell
1af77d45e3
fix supervisor spec for non dynamic modules
...
a release upgrade on a vm running cowboy where any other appup
includes an {update, Mod, {advanced, Extra}} instruction will hang
forever due to these child specs being wrong.
The gen_servers should be [Mod] and the non gen_server needs to be []
since there is no callback to handle this.
2011-10-28 16:44:46 +01:00
Loïc Hoguin
4cd825923f
Add 'Accept-Charset' to cowboy_http_req:parse_header/2
2011-10-26 20:54:21 +02:00
Loïc Hoguin
819eb219e7
Rename private function quality/2 into qvalue/2
2011-10-26 20:13:36 +02:00
Loïc Hoguin
725e272996
cowboy_http:media_range/2 should expect to not have whitespace before it
2011-10-26 19:41:49 +02:00
Loïc Hoguin
20204fd33e
Add 'Accept-Encoding' to cowboy_http_req:parse_header/2
2011-10-26 19:24:49 +02:00
Loïc Hoguin
c605c4fa40
Add 'Accept' header parsing
...
Rework the cowboy_http_req:parse_header/2 function while I was at it.
2011-10-26 04:07:08 +02:00
Loïc Hoguin
1a839954bb
Rewrite list/tokens parsing with an added whitespace function
2011-10-25 10:29:46 +02:00
Loïc Hoguin
6223018212
Merge pull request #79 from athoune/patch-1
...
Update README.md
2011-10-24 21:37:20 -07:00
Mathieu Lecarme
3ba578d5e4
Update README.md
2011-10-25 00:05:31 +03:00
Loïc Hoguin
30a1d13ae9
Make sure the correct callback name is displayed in websocket errors
2011-10-24 17:06:16 +02:00
Loïc Hoguin
d7eec7d8c3
Merge branch 'chrome-15' of https://github.com/puzza007/cowboy
2011-10-24 16:27:14 +02:00
Paul Oliver
30c3c75bbc
Accept Sec-WebSocket-Version: 13 header on Chrome 15 through 17
2011-10-24 15:23:36 +01:00
Loïc Hoguin
f990109af6
We don't need to retrieve the Origin header for hybi-7+ websocket drafts
2011-10-24 10:11:09 +02:00
Loïc Hoguin
c589922ebd
Parse Connection header tokens in a case-insensitive manner
2011-10-20 19:04:49 +02:00
Loïc Hoguin
381c178073
Add a cowboy_http_req:upgrade_reply/3 function and use it for websockets
...
This function doesn't try to add any additional header besides the
Connection: Upgrade header. It also doesn't accept a body.
It should be used for the intermediate reply to an upgrade process,
before the real reply is sent (if any, for example when using TLS).
2011-10-20 14:11:17 +02:00
Loïc Hoguin
d4088e7a46
"websocket" must be treated in a case insensitive manner for upgrades
...
Fixed according to the websocket draft specs.
2011-10-20 11:30:59 +02:00
Loïc Hoguin
70d28ff64d
Make sure the hixie-76 websocket code works properly with proxies
2011-10-20 01:36:23 +02:00
Loïc Hoguin
fe5f0ca539
Add a max_line_length to the HTTP protocol
...
Allows to limit the size of request and header lines, thus preventing
Cowboy from infinitely reading from the socket and never finding an
end of line.
Defaults to 4096 bytes.
2011-10-19 20:35:55 +02:00
Loïc Hoguin
97df2a2d79
Fix the init_shutdown test
2011-10-19 18:50:06 +02:00
Loïc Hoguin
1e7338bdd4
Rewrite the token list parsing into separate, modulable functions
...
Introduce cowboy_http's list/2, nonempty_list/2, token/2 functions.
2011-10-17 10:29:14 +02:00
Loïc Hoguin
81cc99d10b
Add shortcuts to reply functions
...
New functions are reply/2, reply/3, chunked_reply/2 in cowboy_http_req.
2011-10-13 16:16:53 +02:00
Loïc Hoguin
2a324aca3a
Rename a variable from Code to Status
2011-10-13 16:01:55 +02:00
Loïc Hoguin
bf1b84eb83
Fix a misnamed variable for {loop, ...} returns in init/3
2011-10-11 18:12:50 +02:00
Loïc Hoguin
a55d1966f4
Bump quoted to version 1.2.0
2011-10-11 10:21:59 +02:00