Commit Graph

337 Commits

Author SHA1 Message Date
The-EDev
10f3238ffc defining CROW_ENABLE_SSL disables non SSL code 2021-08-21 05:19:51 +03:00
The-EDev
f5338260bb several changes:
added json list in a similar fashion to json object
renamed object_type to object
updated readme, index.html, and json.md to include objects and lists
updated examples to be slightly cleaner and include lists
replaced instances of json object (std::map and such) with the short version (object)
accurate floating point number dumping (`6.0` instead of `6`) while taking 1/30th of the time (29 microseconds saved)
added json list testing
snuck in utf-8 middleware warning fix
snuck in twitter card style for crowcpp.org site (makes social media cards look way better with a large image)
2021-08-20 03:57:21 +03:00
Lucas David
49b020b9aa
Merge branch 'master' into feature-#189 2021-08-16 14:51:14 +02:00
The-EDev
17819e6571 Added middleware to automatically use utf-8 if no content-type is in the response 2021-08-15 15:28:26 +03:00
Farook Al-Sammarraie
fe52a2b117
Merge branch 'master' into feature-#189 2021-08-14 17:19:42 +03:00
himanshu007-creator
6ebea5ca77 remoteIpAddress 2021-08-14 18:58:23 +05:30
Himanshu
0f2b231448
Update http_request.h
CamelCase changed to snake_case
2021-08-14 18:01:19 +05:30
Lucas David
1e52b0182d ~ Corrected code as mentionned in review comments. 2021-08-11 22:25:58 +02:00
Lucas David
8f10f92627
Merge branch 'master' into feature-#189 2021-08-11 21:57:54 +02:00
Lucas David
df41cbec49 ~ Replaced foreach character type unsigned char by auto to resolve issue #195. 2021-08-11 15:43:40 +02:00
Lucas David
235f2b9ef4 + Added (implicit) constructors for json "supported" types.
+ added corresponding tests.
+ Added json-map examples.
2021-08-09 14:32:51 +02:00
Lucas David
762af68306 + Added object constructor and assignment for json::wvalue and unit tests.
+ json::wvalue::wvalue(std::initializer_list<std::pair<std::string const, json::wvalue>>
  + json::wvalue::wvalue(std::[unordered_]map<std::string, json::wvalue> const&)
  + json::wvalue::wvalue(std::[unordered_]map<std::string, json::wvalue>&&)
  + json::wvalue::operator=(std::initializer_list<std::pair<std::string const, json::wvalue>>)
  + json::wvalue::operator=(std::[unordered_]map<std::string, json::wvalue> const&)
  + json::wvalue::operator=(std::[unordered_]map<std::string, json::wvalue>&&)
2021-08-09 14:32:51 +02:00
Farook Al-Sammarraie
62af482f7b
Merge branch 'master' into patch-1 2021-08-07 03:24:26 +03:00
Dan Kersten
e6b36c3c03 Eliminate extern-initializer warning 2021-08-06 22:28:13 +01:00
Mustafa Mahmoud
d5c1b54918
Replace HTTPMethod::GET with HTTPMethod::Get 2021-08-06 19:01:13 +02:00
Farook Al-Sammarraie
8039b2eab9
Merge branch 'master' into blueprints 2021-08-05 19:54:02 +03:00
The-EDev
0588471d6d fixed extern constexpr problem 2021-08-05 19:53:52 +03:00
The-EDev
9418c39a92 fixed problem where using multiple files caused an error because you can't have extern constexpr 2021-08-05 17:01:03 +03:00
The-EDev
1474fbec33 used constant 0xffff in more places, used .empty(), and split the if statement into a method. 2021-08-04 23:58:38 +03:00
The-EDev
2def62bd4a removed unnecessary code / added constexpr for max bp id 2021-08-03 12:46:41 +03:00
Farook Al-Sammarraie
2d65f71de8
Merge branch 'master' into blueprints 2021-07-30 13:15:44 +03:00
The-EDev
addcce9e93 small fixes, optimizations, and documentation 2021-07-30 13:09:01 +03:00
The-EDev
e713ad54cb added unit test, moved macros to app.h, and fixed bug where "bp_prefix2" would be considered a child of "bp_prefix" even if it's not 2021-07-28 22:31:08 +03:00
Lucas David
1bb5e0ac63 + auto to_read = static_cast<std::uint64_t>(buffer_.size());
~ if (remaining_length_ < to_read)
~   to_read = remaining_length_;
+ adaptor_.socket().async_read_some(boost::asio::buffer(buffer_, static_cast<std::size_t>(to_read))
- size_t to_read = buffer_.size();
~ if (remaining_length_ < to_read)
~   to_read = remaining_length_;
- adaptor_.socket().async_read_some( boost::asio::buffer(buffer_, to_read)

~ Changed 'to_read' from [std::size_t] to [std::uint64_t],
  hence when 'remaining_length_' [std::uint64_t] is assigned in 'to_read' no data is lossed.
  When boost::asio::buffer is created 'to_read' is casted back to [std::size_t] explicitly truncating data.
  It seems to be the correct behavior to choose fixed 'network side' types.
2021-07-27 17:04:54 +02:00
Lucas David
6aa5dba579 + buf[1] += static_cast<char>(size);
- buf[1] += size;

~ Warning was triggered by 'size' being std::size_t and lossing data by implicit casting to a narrower type.
  This behavior seems correct, then we can explicit cast it.
2021-07-27 15:39:51 +02:00
The-EDev
06c4829ca7 implemented all blueprint features 2021-07-27 10:52:49 +03:00
The-EDev
27fe952a0c Merge branch 'master' 2021-07-20 11:00:09 +03:00
The-EDev
6d6fbe2385 removed unnecessary boolean 2021-07-19 00:01:20 +03:00
The-EDev
32d88725bd used CROW_LOG_DEBUG instead of std::cout (which was used to rapidly test the trie outside crow) 2021-07-10 23:14:38 +03:00
The-EDev
341a9b7fbe Re-implemented Trie 2021-07-10 22:45:47 +03:00
The-EDev
ea597d804a blueprint specific templates directory now supported 2021-07-07 15:51:04 +03:00
Farook Al-Sammarraie
da9f2e4531
Merge branch 'master' into release_script 2021-07-06 20:08:59 +03:00
Igor Mróz
3839a4a8e5
Add CROW_MAIN ifdef to VERSION variable. Move it to namespace. 2021-07-06 19:07:34 +02:00
The-EDev
85e4525d67 added custom static directory capability to blueprints (the endpoint remains "<prefix>/static/<filename>") 2021-07-06 01:53:32 +03:00
The-EDev
321f9c7fe6 Merge branch 'master' 2021-07-06 01:51:50 +03:00
The-EDev
165c72f56c fixed issue where disabling crow static directory would also disable all other routes 2021-07-05 12:18:00 +03:00
The-EDev
c46af69f41 Added basic blueprint support (registration and prefix) 2021-07-05 12:14:31 +03:00
Igor Mróz
1d270fae19
Add release script. Change server name to use release version to build name. 2021-07-03 22:02:32 +02:00
Luca Schlecker
0593f42522 http_response: fix move assign operator not moving file_info.
Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-06-28 18:08:57 +02:00
The-EDev
fc27f73f84 Bump server version to 0.3 2021-06-05 06:30:01 +03:00
The-EDev
ca31b85156 added CROW_ENABLE_COMPRESSION macro to enable zlib compression
This makes zlib dependency (which is quite problematic) optional
2021-06-03 17:12:20 +03:00
dspverden
5aa45f1ebc Changed to #ifndef in logging.h 2021-06-02 17:05:52 +02:00
Darius Tan
3bd1956e90 Change HTTPMethod::HEAD to HTTPMethod::Head, HTTPMethod::GET to
HTTPMethod::Get and HTTPMethod::OPTIONS to HTTPMethod::Options.

VS2019 error:
enum "crow::HTTPMethod" has no member "HEAD"
enum "crow::HTTPMethod" has no member "GET"
enum "crow::HTTPMethod" has no member "OPTIONS"

See https://github.com/ipkn/crow/pull/307 for a similar issue.
2021-05-23 19:58:01 +12:00
Maxime BELUGUET
811ef62c6f Fix constness on json dump method #133 2021-05-18 18:10:39 +02:00
The-EDev
0e9b615c2b fixed typos 2021-05-13 13:30:48 +03:00
The-EDev
f39b9ddce7 Quality of life improvements
Added pop() method to query_string, same as get(), but removes the item from the querystring
Added std::string() operator to json::rvalue (allows std::string(json["abc"]), which returns any value that isn't a container to string)
Added lo() method to json::rvalue, returns a vector of json::rvalue containing whatever a json object or list has (difference being a list has no keys)
Added keys() method to json::rvalue, returns a vector of std::string containing the keys of a json object
Made json::wvalue use either std::map or std::unordered_map instead of just std::unordered_map
Added copy constructor to json::wvalue
Added size() method to json::wvalue, returns 1 or the size of the json list.
Added constructor to create json::wvalue from std::vector
Added keys() method to query_string
Documented query_string and improved json doc
Made tests and examples for all the additions
2021-05-12 15:45:55 +03:00
The-EDev
5b7b066c68 fixed typo and incorrect type in assert error 2021-04-14 04:55:27 +03:00
Farook Al-Sammarraie
5f91587479
Merge branch 'master' into catch_all 2021-04-12 23:45:07 +03:00
The-EDev
738abdbd96 fixed issue where response is logged twice 2021-04-12 20:11:03 +03:00
Farook Al-Sammarraie
4aae614297
Merge branch 'master' into catch_all 2021-04-12 10:49:29 +03:00