0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00
Commit graph

30 commits

Author SHA1 Message Date
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
e30c6debdc Remove a '++' use when replying 2012-09-24 04:53:24 +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
Loïc Hoguin
c2be7c1920 Add types for onrequest and onresponse funs 2012-09-17 13:57:29 +02:00
Loïc Hoguin
18be3a8021 Rename cowboy_req:raw_qs/1 to cowboy_req:qs/1 2012-09-17 13:57:29 +02:00
Loïc Hoguin
13b743ba26 Include the eunit file only if TEST is defined 2012-09-17 13:57:29 +02:00
Loïc Hoguin
183bf7f143 Make cowboy_req:req() opaque
Remove http.hrl in the process.

If you feel furious about this change after reaching this commit,
don't worry! You probably just need a few access or modification
functions to be added in cowboy_req for your needs. Problem is,
I don't know these. I'll be very thankful if you can open a ticket
and tell me all about it so the best solution can be swiftly
implemented to make you happy again.
2012-09-17 13:57:29 +02:00
Loïc Hoguin
58edd4c35a Add the private get_connection/1 function used by cowboy_protocol
This removes cowboy_protocol's dependency on http.hrl!
2012-09-17 13:57:29 +02:00
Loïc Hoguin
cf0e905c52 Add the private get_buffer/1 function used by cowboy_protocol 2012-09-17 13:57:28 +02:00
Loïc Hoguin
e55ec7d43d Add the private get_resp_state/1 function used by cowboy_protocol 2012-09-17 13:57:28 +02:00
Loïc Hoguin
c1dd5b5176 Add the private set_bindings/4 function used by cowboy_protocol 2012-09-17 13:57:28 +02:00
Loïc Hoguin
5b56dd780b Add the private set_buffer/2 function used by cowboy_protocol 2012-09-17 13:57:28 +02:00
Loïc Hoguin
fc02b7f767 Add the private add_header/3 function used by cowboy_protocol 2012-09-17 13:57:28 +02:00
Loïc Hoguin
905083a7fd Add the private set_connection/2 function used by cowboy_protocol 2012-09-17 13:57:28 +02:00
Loïc Hoguin
350d4ae3f2 Add the private function set_host/4 used by cowboy_protocol 2012-09-17 13:57:28 +02:00
Loïc Hoguin
6dbc1f9ef9 Add a private cowboy_req function to create a Req object
Private means you must not used it. It's meant for internal use.
2012-09-17 13:57:28 +02:00
Loïc Hoguin
f205d44518 Add a function to lock request responses instead of inlining
Just more cleanup in order to have req() opaque.
2012-09-17 13:57:28 +02:00
Loïc Hoguin
8d5f8db90a Improve consistency of return types for cowboy_req API
The signature of parse_header, body_qs, multipart_data and
the set_resp_* functions has changed.

See the cowboy_req module edoc for more details.
2012-09-17 13:56:58 +02:00
Loïc Hoguin
e13ab806ea Add cowboy_req:delete_resp_header/2
Both requested and better for making Req opaque.
2012-09-16 03:50:56 +02:00
Loïc Hoguin
527477bd4a Introduce cowboy_req:host_url/1 to remove more duplicate code 2012-09-16 01:13:44 +02:00
Loïc Hoguin
9ef94fb64e Introduce cowboy_req:set_meta/3 to set request metadata 2012-09-15 22:51:37 +02:00
Loïc Hoguin
0aaa717575 Remove duplicate code for ensure_response 2012-09-15 22:19:39 +02:00
Loïc Hoguin
27d591180c Add cowboy_req:url/1 to return the full request URL
Use it in cowboy_websocket for hixie76, replacing http by ws.
2012-09-15 22:03:00 +02:00
Loïc Hoguin
bb4bd9ac96 Add a cowboy_req:to_list/1 function
Removes a lot of duplicate code when printing error messages.
2012-09-15 20:33:57 +02:00
Loïc Hoguin
4040a9f72d Separate multipart from body_state 2012-09-15 00:59:49 +02:00
Loïc Hoguin
79839b7bb5 Replace cowboy_req:path/1 with cowboy_req:raw_path/1
The latter is much more useful than the former, which ends up
being removed.
2012-09-10 12:26:04 +02:00
Loïc Hoguin
6fa734b487 Replace cowboy_req:host/1 with cowboy_req:raw_host/1
The latter is much more useful than the former, which ends up
being removed.
2012-09-10 12:25:57 +02:00
Loïc Hoguin
e17e18668d Introduce a cowboy_req:req/0 type
Cleanup the typespecs of the cowboy_req module following this.
2012-08-27 14:27:41 +02:00
Loïc Hoguin
d3dcaf109b Rename cowboy_http_req to cowboy_req 2012-08-27 13:28:57 +02:00
Renamed from src/cowboy_http_req.erl (Browse further)