Veloman Yunkan
d2fedf9123
Added error details in testing of error responses
2024-01-10 00:28:37 +04:00
Veloman Yunkan
b151a2a480
Added KIWIX_RESPONSE_DATA to error response
...
Now the data used to generate an error response can be made to be
embedded in the response as a JS object KIWIX_RESPONSE_DATA.
2024-01-10 00:26:13 +04:00
Veloman Yunkan
8b8a2eede7
Slight enhancement of escapeForJSON()
...
- More familiar escape sequences for tab, newline and carriage return
symbols.
- Quote symbol is escaped by default too, however that behaviour can
be disabled for uses in HTML-related contexts where quotes should then
be replaced with the character entity "
2024-01-10 00:26:13 +04:00
Veloman Yunkan
f3d3ab13cb
Exposed escapeForJSON() in kiwix namespace
...
Note that it is declared in stringTools.h but its definition remains in
otherTools.cpp (to minimize the diff).
2024-01-10 00:26:13 +04:00
Veloman Yunkan
1553d52593
Lazy translation during error response generation
...
Now when parameterized messages are added to an error response, they are
not immediately instantiated (translated). Instead the message id and
the parameters of the message are recorded. The instantiation of the
messages happens right before generating the final content of the
response.
2024-01-10 00:26:13 +04:00
Veloman Yunkan
f298acd45f
Unmustached i18n::Parameters
2024-01-10 00:26:13 +04:00
Veloman Yunkan
0b542fe66d
New implementation of ContentResponseBlueprint::Data
2024-01-10 00:25:18 +04:00
Veloman Yunkan
e72fc2391d
Enter ContentResponseBlueprint::Data
...
ContentResponseBlueprint::m_data is now an opaque data member
implemented in the .cpp and ready to be switched from
kainjow::mustache::data to a different implementation.
2024-01-09 22:50:34 +04:00
Veloman Yunkan
d39e91f6bc
Moved constructor into .cpp
2024-01-09 22:46:06 +04:00
Veloman Yunkan
0b7cd614c6
Fixed an encapsulation breach
2024-01-09 20:44:44 +04:00
Veloman Yunkan
54191bcfab
Retired HTTP500Response::generateResponseObject()
...
... whereupon `ContentResponseBlueprint::generateResponseObject()` (and
`ContentResponseBlueprint` as a whole) no longer needs to be
polymorphic.
2024-01-09 20:44:44 +04:00
Veloman Yunkan
797f4c432c
Testing of MIME-type of HTTP 500 response
2024-01-09 20:44:44 +04:00
Veloman Yunkan
c57b8a0c7c
Testing of HTTPErrorResponse translation
2024-01-09 20:44:44 +04:00
Veloman Yunkan
aee6c23082
Decoupled RequestContext from MHD_Connection
...
This will simplify testing of Response utilities.
2024-01-09 20:44:44 +04:00
Veloman Yunkan
af228bf45f
Dropped cookies from RequestContext
...
This should have been done in PR#997 in order to better guarantee
a lasting solution to issue#995.
2024-01-09 20:44:44 +04:00
Veloman Yunkan
b9323f17bb
Introduced testing of HTTP response utils
2024-01-09 20:44:44 +04:00
Veloman Yunkan
8993f99587
ParameterizedMessage is actually a class
2024-01-09 20:44:44 +04:00
Veloman Yunkan
96b6f41244
Added i18n unit test
2024-01-09 20:25:59 +04:00
Veloman Yunkan
3f0ea083e6
Moved microhttpd_wrapper.h under server/
2024-01-09 20:20:51 +04:00
Matthieu Gautier
9c5f5c7be0
Merge pull request #1036 from kiwix/fix_viewer_href
...
Get correct href value on `onClick` for "warc2zim" files.
2024-01-04 17:18:14 +01:00
Matthieu Gautier
9375f97b60
Get correct href value on `onClick` for "warc2zim" files.
...
Next to come warc2zim archive will come with "wombat" embedded.
The purpose of wombat is to be an interface with js code to mask that
we are in a scrapped/zim context to the js.
So it rewrite the `.href` attributes to the original url (ie, an
absolute url to the original website), even if the local relative url
is valid.
Let's ask to wombat to not rewrite href in our special case.
2024-01-04 17:03:40 +01:00
Matthieu Gautier
2ad5e510c6
Merge pull request #1035 from kiwix/ghaction
...
Use kiwix-build's github action to download dependencies.
2023-12-20 11:53:26 +01:00
Matthieu Gautier
a2e56e2422
Make homebrew don't try to update installed dependencies.
2023-12-20 11:45:28 +01:00
Matthieu Gautier
8cc724b4a4
Use kiwix-build's github action to download dependencies.
2023-12-20 11:45:28 +01:00
Kelson
fa212fd6ae
Merge pull request #1027 from kiwix/polish-apple-ci
...
Better use GitHub action .env directive
2023-12-04 22:39:45 +01:00
Emmanuel Engelhart
c0073b3bc7
Better use GitHub action .env directive
2023-12-04 20:51:46 +01:00
Matthieu Gautier
0d2b6b3344
Merge pull request #1030 from kiwix/cleanup_of_error_response_generation
2023-12-04 10:59:55 +01:00
Veloman Yunkan
5f27b4b651
Taking advantage of std::make_unique()
2023-11-29 21:32:16 +04:00
Veloman Yunkan
7a85c92025
Dropped root from HTTPErrorResponse & friends
2023-11-29 21:32:16 +04:00
Veloman Yunkan
6e2be481fd
Dropped the root param from ItemResponse::build()
2023-11-29 21:32:16 +04:00
Veloman Yunkan
db3b76247f
Last step of removing root from ContentResponse
2023-11-29 21:32:16 +04:00
Veloman Yunkan
6a651e04e5
1st step in removing root from ContentResponse
...
It turned out that ContentResponse::m_root is no longer used.
At this point, the root parameter is dropped only from the 3-ary variant
of ContentResponse::build(), so that its all call sites are
automatically discovered by the compiler (and updated manually).
Including the other (4-ary) variant of ContentResponse::build() in this
change might result in the semantic change of expressions like
`ContentResponse::build(x, y, z)` and failure to update them.
2023-11-29 21:32:16 +04:00
Veloman Yunkan
22ea3106c5
Passing only root location instead of the entire server
2023-11-29 21:32:16 +04:00
Veloman Yunkan
2d132d701e
Dropped the server param from Response::build*()
2023-11-29 21:32:16 +04:00
Veloman Yunkan
f81a5a1a4b
Moved verbosity control to Response::send()
...
It makes little sense to pass the verbosity control to the `Response`
constructor if it is used only in `Response::send()`.
2023-11-29 21:32:12 +04:00
Veloman Yunkan
3dce025f47
Deleted an unused function
2023-11-29 17:16:23 +04:00
Veloman Yunkan
e470c97f74
Got rid of InvalidUrlMsg
2023-11-29 15:42:21 +04:00
Veloman Yunkan
a7ea908bcd
HTTPErrorResponse no longer accepts std::strings
2023-11-29 15:35:53 +04:00
Veloman Yunkan
41f25083da
Replaced UrlNotFoundMsg with UrlNotFoundResponse
2023-11-29 14:31:38 +04:00
Veloman Yunkan
3188b0afe6
Translated a hard-coded error message
2023-11-29 14:18:06 +04:00
Kelson
f8aae395f3
Merge pull request #1018 from kiwix/ci-ios
...
Test iOS cross-compile in CI
2023-11-23 08:32:30 +01:00
renaud gaudin
c5088aad7b
fixed typo in deps filename to fetch
2023-11-23 07:33:51 +01:00
Emmanuel Engelhart
269a659160
Download proper deps file
2023-11-23 07:33:51 +01:00
Emmanuel Engelhart
7161df9e4c
Test iOS cross-compile in CI
2023-11-23 07:33:51 +01:00
Kelson
24faf84163
Merge pull request #1023 from kiwix/suggestions_with_control_characters
...
Control characters are escaped in suggestions JSON
2023-11-17 15:12:13 +01:00
Veloman Yunkan
571c09e00a
Control characters are escaped in suggestions JSON
...
According to the JSON spec, control characters from U+0000 through U+001F
must NOT appear in strings unescaped.
2023-11-17 14:55:01 +01:00
Kelson
a959800173
Merge pull request #1024 from kiwix/release-13.0.0
...
Release 13.0.0
2023-11-17 14:13:31 +01:00
Emmanuel Engelhart
b2196ee7a9
13.0.0 Changelog
2023-11-17 14:11:20 +01:00
Emmanuel Engelhart
aea51c21ff
Bump-up version to 13.0.0
2023-11-17 13:52:03 +01:00
Kelson
95d627afa1
Merge pull request #1022 from kiwix/viewer_toolbar_tweaks
...
Viewer toolbar improvements
2023-11-15 21:41:55 +01:00