aboutsummaryrefslogtreecommitdiffstats
path: root/examples
AgeCommit message (Collapse)Author
2019-09-05rest_pastebin example: Add a constraint for lang parameterLoïc Hoguin
2019-09-05file_server example: Fix ../ linksruanpienaar
Amended to fix an issue with repeated path segments.
2018-11-01Accept a broader media type as input in rest_pastebin exampleLoïc Hoguin
2018-09-23Rename handler modules to _hHerman Singh
2018-06-27Use cowboy_req:stream_events in the eventsource exampleLoïc Hoguin
2017-08-09Remove broken links from examples READMELoïc Hoguin
2017-07-19Remove the broken examplesLoïc Hoguin
Hooks are gone, and we won't be able to stream body in REST in Cowboy 2.0-rc.1, and might not in 2.0 either. That is, other than via halting the processing.
2017-06-09Make cowboy_req:read_part return multipart headers as mapLoïc Hoguin
2017-06-07Remove NumAcceptors argument from start_clear/tlsLoïc Hoguin
They are now cowboy:start_clear/3 and cowboy:start_tls/3. The NumAcceptors argument can be specified via the num_acceptor transport option. Ranch has been updated to 1.4.0 to that effect.
2017-02-19Change the order of set_resp_cookie argumentsLoïc Hoguin
The Opts value is put last, to be more consistent with the rest of the cowboy_req module. Additionally a test handler was fixed which reduced the number of errors in http_SUITE.
2017-02-18Allow passing options to sub protocolsLoïc Hoguin
Before this commit we had an issue where configuring a Websocket connection was simply not possible without doing magic, adding callbacks or extra return values. The init/2 function only allowed setting hibernate and timeout options. After this commit, when switching to a different type of handler you can either return {module, Req, State} or {module, Req, State, Opts} where Opts is any value (as far as the sub protocol interface is concerned) and is ultimately checked by the custom handlers. A large protocol like Websocket would accept only a map there, with many different options, while a small interface like loop handlers would allow passing hibernate and nothing else. For Websocket, hibernate must be set from the websocket_init/1 callback, because init/2 executes in a separate process. Sub protocols now have two callbacks: one with the Opts value, one without. The loop handler code was largely reworked and simplified. It does not need to manage a timeout or read from the socket anymore, it's the job of the protocol code. A lot of unnecessary stuff was therefore removed. Websocket compression must now be enabled from the handler options instead of per listener. This means that a project can have two separate Websocket handlers with different options. Compression is still disabled by default, and the idle_timeout value was changed from inifnity to 60000 (60 seconds), as that's safer and is also a good value for mobile devices.
2017-01-22Fix and update the compress example to use cowboy_compress_hLoïc Hoguin
2016-08-22Fix websocket exampleWiteman Zheng
2016-08-11Merge branch 'master' of https://github.com/sergey-ivlev/cowboyLoïc Hoguin
2016-08-11Fix cookie example againLoïc Hoguin
2016-08-11Fix timer-sent events in the websocket exampleLoïc Hoguin
2016-08-10Make reply functions return ReqLoïc Hoguin
2016-08-10Update the multipart reading interfaceLoïc Hoguin
Now named read_part/read_part_body, with a verb indicating action.
2016-08-10Update examples to the new interfaceLoïc Hoguin
2016-08-10Add tests for responses and request body readingLoïc Hoguin
This is a large commit. The cowboy_req interface has largely changed, and will change a little more. It's possible that some examples or tests have not been converted to the new interface yet. The documentation has not yet been updated. All of this will be fixed in smaller subsequent commits. Gotta start somewhere...
2016-07-26fix echo_get examplesergey-ivlev
2016-06-16Fix upload exampleLoïc Hoguin
2016-06-16Mark broken examples as such in their READMELoïc Hoguin
2016-06-15Fix rest_pastebin exampleLoïc Hoguin
2016-06-14Fix eventsource exampleLoïc Hoguin
2016-06-14Fix cookie exampleLoïc Hoguin
2016-06-14Fix rest_basic_auth exampleLoïc Hoguin
2016-06-13Fix websocket exampleLoïc Hoguin
2016-06-13Fix markdown_middleware exampleLoïc Hoguin
2016-06-13Fix chunked_hello_world exampleLoïc Hoguin
2016-06-13Merge static_world and web_server examplesLoïc Hoguin
The new example is called file_server and it's basically the same as web_server was. The name is clearer than the original, all examples being "Web servers". The new example is also tested and the test suite has been refactored a little.
2016-06-09Fix rest_hello_world exampleLoïc Hoguin
2016-06-09Fix small issue in echo_get exampleLoïc Hoguin
2016-06-09Add HTTP/2 snippets to all working examplesLoïc Hoguin
2016-06-08Fix echo_post exampleLoïc Hoguin
2016-06-08Fix echo_get exampleLoïc Hoguin
2016-04-30Fix ssl_hello_world example; document HTTP/2 outputLoïc Hoguin
2016-04-30Fix hello_world exampleLoïc Hoguin
2016-03-05Initial commit with connection/streamsLoïc Hoguin
Breaking changes with previous commit. This is a very large change, and I am giving up on making a single commit that fixes everything. More commits will follow slowly adding back features, introducing new tests and fixing the documentation. This change contains most of the work toward unifying the interface for handling both HTTP/1.1 and HTTP/2. HTTP/1.1 connections are now no longer 1 process per connection; instead by default 1 process per request is also created. This has a number of pros and cons. Because it has cons, we also allow users to use a lower-level API that acts on "streams" (requests/responses) directly at the connection process-level. If performance is a concern, one can always write a stream handler. The performance in this case will be even greater than with Cowboy 1, although all the special handlers are unavailable. When switching to Websocket, after the handler returns from init/2, Cowboy stops the stream and the Websocket protocol takes over the connection process. Websocket then calls websocket_init/2 for any additional initialization such as timers, because the process is different in init/2 and websocket_*/* functions. This however would allow us to use websocket_init/2 for sending messages on connect, instead of sending ourselves a message and be subject to races. Note that websocket_init/2 is optional. This is all a big change and while most of the tests pass, some functionality currently doesn't. SPDY is broken and will be removed soon in favor of HTTP/2. Automatic compression is currently disabled. The cowboy_req interface probably still have a few functions that need to be updated. The docs and examples do not refer the current functionality anymore. Everything will be fixed over time. Feedback is more than welcome. Open a ticket!
2016-01-14Simplify specifying the Cowboy version in examplesLoïc Hoguin
2016-01-14Remove the .app.src file in all examplesLoïc Hoguin
2016-01-14Convert the example index README to AsciiDocLoïc Hoguin
2016-01-14Merge branch 'patch-1' of https://github.com/yurrriq/cowboyLoïc Hoguin
2016-01-14Simplify example instructions and fix broken examplesLoïc Hoguin
Also convert to AsciiDoc while we're at it.
2016-01-06Update README.mdEric Bailey
Consistently use the imperative mood and add link to LFE examples.
2015-07-27Use the new unique_integer function to generate IDsLoïc Hoguin
In the eventsource example.
2015-05-06Add an index.html that is also served statically as the default for /David N. Welton
2015-02-16Fix cookie exampleLoïc Hoguin
2014-10-04Reverse the order of arguments of match_* functionsLoïc Hoguin
Wasn't following the same order as the rest of the module.
2014-10-03Make examples use Cowboy masterLoïc Hoguin