608 Commits

Author SHA1 Message Date
Andrea Guzzo
45f6612096 allow to define a default mime-type to use when lookup in the internal table fails
instead of always returning 'text/plain'

To allow setting a different default mime-type the mg_get_mime_type() api has been
extended to require an mg_server parameter.

Note that using a static global as default mime type wouldn't have allowed us to
control it via a configuration option because there is not global initialization phase
and configuration options are provided (and specific) to each server instance.
This means that different servers can be configured to use a different default mime-type
(which is also a desired behaviour in many scenarios) when lookup fails.
2014-01-24 14:45:19 +01:00
Sergey Lyubka
0377eea9c5 Added enum for callback return codes 2014-01-22 18:25:05 +00:00
Sergey Lyubka
976f286134 Made mg_connection::content_len int -> size_t, which is 64-bit on 64-bit systems 2014-01-20 20:57:21 +00:00
Sergey Lyubka
5825e3ea74 Adding use_ssl to mg_connect() 2014-01-20 08:55:03 +00:00
Sergey Lyubka
7a129c17ba Added http client with unit tests 2014-01-19 16:32:43 +00:00
Sergey Lyubka
02f19fc05a Using mg_handler_t for iterate_over_connections() 2014-01-17 11:45:57 +00:00
Sergey Lyubka
73ed83c5e3 Added mg_parse_multipart 2014-01-13 16:29:12 +00:00
Sergey Lyubka
a3663da90e Exposed mg_send_digest_auth_request(). Exported conn->content to Lua 2014-01-13 10:50:26 +00:00
Sergey Lyubka
e38061970e Exposed mg_authorize_digest() 2014-01-11 16:44:37 +00:00
Sergey Lyubka
7380c65265 5.1 -> 5.2 2014-01-10 22:37:26 +00:00
Sergey Lyubka
fa351959a0 5.0 -> 5.1 2014-01-09 14:08:50 +00:00
Sergey Lyubka
d0e2741832 Added new response creation interface 2014-01-04 11:31:55 +00:00
Sergey Lyubka
a0b599b308 Removed protection from mg_write(). Refactored mg_iterate_over_connections() 2014-01-04 00:51:07 +00:00
Sergey Lyubka
f5f6edcf5a Added mg_printf() back 2013-12-26 10:12:18 +00:00
Sergey Lyubka
4708cce8bd mg_poll_server() returns currect time. add mg_set_listening_socket() and mg_get_listening_socket() 2013-12-21 20:52:54 +00:00
Sergey Lyubka
f4c30b746e Switched to async, non-blocking core 2013-12-09 14:18:49 +00:00
Sergey Lyubka
2f49e63d5b Moved docstrings to API.md 2013-11-25 13:43:12 +00:00
Sergey Lyubka
762a68a0cf Moved some docs to markdown 2013-10-30 23:02:15 +00:00
Sergey Lyubka
1da098671e Moved docstrings to API.md 2013-10-19 14:07:46 -07:00
Sergey Lyubka
f852a4db0f Moved docstrings to API.md 2013-10-19 13:14:16 -07:00
Sergey Lyubka
ecbf79135f Refactored API, returned back to event-based handlers. Upload and Websocket API simplified 2013-09-28 11:00:54 +01:00
Sergey Lyubka
079c99c47f Started to restore single callback function 2013-09-26 13:25:51 +01:00
Sergey Lyubka
98214ce1a4 Removed init_lua() and open_file() callbacks 2013-09-26 09:35:07 +01:00
Sergey Lyubka
b946f33189 Moved more docs to the web site 2013-09-24 11:24:10 +01:00
Sergey Lyubka
50f8e8891b Removed references to usermanual.md 2013-09-18 09:44:00 +01:00
Sergey Lyubka
411a269991 valenok -> cesanta 2013-09-16 22:45:19 +01:00
Sergey Lyubka
73d2b395d1 Moved SIGCHLD handler out of mongoose.c. Embedded user must set SIGCHLD handler if CGI is used. 2013-09-07 19:41:40 +01:00
Sergey Lyubka
6d14ed3a18 thread_setup -> thread_start 2013-08-28 09:53:10 +01:00
Sergey Lyubka
00b289a0f4 Added thread_start() and thread_stop() 2013-08-26 12:22:38 +01:00
Sergey Lyubka
85209ac4fa Reverted contributions by jmucchiello 2013-08-19 11:54:47 +01:00
Sergey Lyubka
218428662e License change 2013-08-16 11:18:16 +01:00
Nigel Stewart
fa3e6ce271 gcc complains about _MSC_VER being an undefined macro. 2013-08-08 22:08:00 -05:00
Sergey Lyubka
4b163232e3 fixed docstring for mg_get_valid_option_names 2013-07-20 07:12:49 +01:00
Sergey Lyubka
036b213b2b Added connection-specific conn_data pointer to struct mg_request_info 2013-07-18 17:31:16 +01:00
Sergey Lyubka
c68df310b8 Added mg_websocket_write(), per morgan3d pull request 2013-07-12 12:25:25 +01:00
Sergey Lyubka
b5b234fab2 Improved docstring for mg_read() 2013-05-19 08:00:12 +01:00
Sergey Lyubka
91fa767efb Fix doc string for websocket_data() 2013-05-18 15:21:20 +01:00
Sergey Lyubka
cfbaf7f1ae Expose mg_url_decode to the API 2013-05-08 11:36:38 +01:00
Sergey Lyubka
4120b9bcc0 mg_get_cookie() signature change 2013-04-11 12:49:41 -07:00
Sergey Lyubka
272644e39f mg_md5 returns char *, not void 2013-03-27 01:31:12 -07:00
Sergey Lyubka
67cffc8db5 Documented struct mg_callbacks 2013-03-09 13:12:03 +00:00
Sergey Lyubka
72abaa043b Documented struct mg_callbacks 2013-03-09 13:01:02 +00:00
Sergey Lyubka
8d1f6377c4 Changed websocket_data() handler API. Buffering and passing whole websocket message. 2013-03-08 16:03:23 +00:00
Sergey Lyubka
3892e0199e Passing user_data to init_ssl() 2013-02-28 09:12:52 +00:00
Sergey Lyubka
26b3f227d9 Merge branch 'master' of ssh://github.com/valenok/mongoose 2013-02-12 21:04:42 +00:00
Sergey Lyubka
fcafaa73d6 Style fixes in the comments 2013-02-12 21:03:54 +00:00
Joe Mucchiello
2efc5d9fce http_error callback
Allow user to display status code errors
2013-02-10 15:58:06 -05:00
Joe Mucchiello
1cb094e059 Revert "Add http_error callback"
This reverts commit 27fe9c8f01679a1a093f901860e5b2c95c9673c5.
2013-02-10 15:50:20 -05:00
Joe Mucchiello
27fe9c8f01 Add http_error callback
Allows user code to display its own error status responses or just log
the errors. Is called even in cases where begin_request is not called.
2013-02-10 15:02:37 -05:00
Sergey Lyubka
ee55d38b55 API CHANGE: using struct mg_callbacks 2013-02-01 16:48:30 +00:00
Sergey Lyubka
c132191cad Prepare to change the API to use explicit callbacks 2013-01-31 18:29:22 +00:00
Sergey Lyubka
5105717f78 Added printf checkers for mg_download 2013-01-24 09:35:54 +00:00
Sergey Lyubka
3d7192d9fa Typo in mongoose.h fixed 2013-01-24 01:16:23 +00:00
Sergey Lyubka
75d9a6c844 Removed mg_connect() and mg_fetch(). Added mg_download() 2013-01-23 21:54:27 +00:00
Sergey Lyubka
8455742440 Pass reply status code to MG_REQUEST_COMPLETE 2013-01-10 09:56:24 +00:00
nullable.type
8faf6f7b72 Made behavior of mg_get_cookie(..) on errors the same as mg_get_var(..). Separated the two cases a.) problems with destination buffer and b.) cookie header or cookie parameter not existing. 2012-12-16 22:20:21 +01:00
nullable.type
c9183f3851 Made the names of the function arguments of the declaration and the definition of mg_get_var(..) the same.
Changed the error codes to have a consistent way of reporting errors. -2 is returned if there is a problem with the size of the destination buffer. -1 is returned if the variable is not found.

Updated the documentation of mg_get_var(..) in mongoose.h and removed the redundant comments from mongoose.c.
2012-12-16 12:27:53 +01:00
Sergey Lyubka
0d442058e5 Added mg_upload() 2012-12-07 01:50:47 +00:00
Sergey Lyubka
cb62203cf3 More documentation for MG_OPEN_FILE event 2012-10-25 21:47:04 +01:00
Sergey Lyubka
b437d56736 Added MG_INIT_LUA event 2012-10-08 00:09:43 +01:00
Sergey Lyubka
365b5e8f8a Using long for file size in MG_OPEN_FILE ev_data 2012-10-01 10:19:20 +01:00
Sergey Lyubka
47651766fb Squashed warning under linux 2012-09-30 16:35:09 +01:00
Sergey Lyubka
557d1f4c49 Added MG_OPEN_FILE message 2012-09-29 18:56:41 +01:00
Sergey Lyubka
02098b1903 API change: folded user_data into request_info, and introduced event-specific ev_data 2012-09-27 21:48:05 +01:00
Sergey Lyubka
25863b59a6 Sending MG_WEBSOCKET_CLOSE 2012-09-21 09:05:45 +01:00
Sergey Lyubka
f9873eb87a Experimentl websocket support 2012-09-19 12:23:54 +01:00
Sergey Lyubka
9aad922983 added mg_get_ssl_context. passing fake connection to the MG_INIT_SSL event 2012-09-17 23:36:06 +01:00
Sergey Lyubka
05b2a04267 moved status_code, user_data, log_message out of struct mg_request_info 2012-09-17 19:38:19 +01:00
Sergey Lyubka
ee91109d9f Ger Hobbelt's fixes 2012-08-25 22:02:51 +01:00
Sergey Lyubka
3d3359910f Added printf format checking macros. Changed mg_printf() to allocate the buffer on heap if it does not fit the local one. 2012-08-19 12:08:33 +01:00
Ger Hobbelt
ccf43fe3e3 backport of the relevant fix as per http://code.google.com/p/mongoose/issues/detail?id=370#c5 2012-08-18 21:44:29 +02:00
Sergey Lyubka
8b491d75b5 added const in mg_get_request_info() 2012-08-18 16:47:25 +01:00
Sergey Lyubka
cf53f3da4f Revert "Added MG_SHUTDOWN event"
This reverts commit 15a0d819ede70398db936977ddb0ecf6cf32a195.
There is no point in MG_SHUTDOWN. Thread that calls mg_stop() can
do the same thing.
2012-08-16 20:20:18 +01:00
Sergey Lyubka
15a0d819ed Added MG_SHUTDOWN event 2012-08-16 17:24:33 +01:00
Sergey Lyubka
4d0a2db658 #include <stdio.h> in mongoose.h, since FILE is used 2012-08-14 21:26:49 +01:00
Sergey Lyubka
0e0091e1c0 Changing API: callback doesnt get mg_request_info pointer anymore, but it is possible to get it using mg_get_request_info() 2012-08-03 11:15:38 +01:00
Sergey Lyubka
b42d25edd2 NOT exporting string functions 2012-07-31 23:52:46 +01:00
Sergey Lyubka
39215f6930 Exported mg_get_builtin_mime_type() 2012-07-31 08:58:44 +01:00
Sergey Lyubka
df7da95cb6 Setting Host header in mg_fetch. Added test for fetching large file. 2012-07-29 17:12:44 +01:00
Sergey Lyubka
4bc508525b Exported string functions 2012-07-29 14:04:48 +01:00
Sergey Lyubka
a9bb7d78ab Fixed mg_fetch() by passing a buffer, placeholder for the reply headers 2012-07-29 10:15:37 +01:00
Sergey Lyubka
e6bb39a2d3 Using client-side SSL context for mg_connect() 2012-07-28 18:57:04 +01:00
Sergey Lyubka
104480ed9c mg_start_thread() exported 2012-07-28 12:06:26 +01:00
Sergey Lyubka
6c54370aa1 Added mg_connect(), mg_fetch() API functions. More tests added 2012-07-28 11:04:03 +01:00
Sergey Lyubka
2824ae345d Added new event, MG_REQUEST_COMPLETE 2012-03-11 22:38:28 +00:00
valenok
905413b656 Fix issue 300 2012-01-24 16:05:07 +00:00
Sergey Lyubka
b30e1893dc Better documentation 2011-08-28 11:24:35 +01:00
Sergey Lyubka
4e551d9a1d Copyright year changed to 2011. Fixed documentation string for mg_get_cookie() 2011-08-26 21:30:20 +01:00
valenok
8942a4cdad Ignoring SIGCHLD to let OS reap the zombies. 2011-06-22 00:45:08 +01:00
valenok
29a38875ff Corrected description of mg_send_file() 2011-06-19 17:50:08 +01:00
valenok
5bbb6fbbd5 Added mg_send_file() 2011-06-19 17:45:52 +01:00
valenok
be6162ff2e Added <stddef.h>, since size_t is used in the API 2011-05-02 09:09:58 +01:00
valenok
d7cba57e17 Make source g++ friendly 2011-04-24 22:40:08 +01:00
valenok
d1de5f0190 Corrected comment for mg_start() 2011-03-08 08:30:26 +00:00
valenok
29716fa22e Changed API: function mg_modify_passwords_file(). Instead of passing context, a domain name is passed, thus making this function completely mongoose-agnostic. 2011-02-18 16:40:58 +00:00
valenok
11951a57ff API change: added void *user_data to mg_start(). Bumped version to 3.0 2010-10-26 23:37:44 +01:00
valenok
f105b74dc0 experimental keep-alive, options defaults 2010-08-31 08:01:14 +01:00
valenok
d9551c505a mg_start: struct mg_request_info * -> const struct mg_request_info * 2010-08-30 22:48:07 +01:00
valenok
97f2155239 introduced short option names 2010-08-30 13:10:10 +01:00
valenok
546bec333c API change for mg_start: most binary compatible across releases. 2010-08-29 22:30:49 +01:00
Sergey Lyubka
5651657ac6 passing const struct mg_config 2010-08-23 14:05:59 +02:00
valenok
a0d765a6f0 removed port_data, post_data_len from request_info. added prototype for mg_read() 2010-08-23 07:10:15 +01:00
valenok
c94ad1c952 adopted monhoose.h to Google style 2010-07-06 23:15:14 +01:00
valenok
88a224d808 fixed example. some more comments added 2010-07-05 19:37:53 +01:00
Sergey Lyubka
5425b94f39 introduced struct mg_config. Fixed Range response. 2010-06-25 17:23:17 +02:00
Sergey Lyubka
627a6dbb5a mg_md5 made public 2010-05-05 00:39:36 +01:00
Sergey Lyubka
3aafbab967 better docstrings for mg_get_cookie() and mg_get_var() 2010-05-04 20:50:49 +01:00
Sergey Lyubka
a69a2da39d Initial import - converting from Subversion. 2010-05-03 21:46:42 +01:00