Veloman Yunkan
2a20e87341
Got rid of Response::build_500()
...
This change is not tested (mostly due to the difficulties of triggering
an internal server error).
2022-04-04 18:35:20 +02:00
Veloman Yunkan
545d409150
Reused HTTPErrorHtmlResponse in HTTP400HtmlResponse
2022-04-04 18:35:20 +02:00
Veloman Yunkan
89dc9afc28
Renamed 404.html to error.html
...
404.html no longer contains anything specific to the 404 error and will
henceforth serve (with some enhancements) as a general purpose error
page template.
2022-04-04 18:35:20 +02:00
Veloman Yunkan
647118dd5e
Enter HTTPErrorHtmlResponse
...
In addition to serving as a base class for `HTTP404HtmlResponse`,
`HTTPErrorHtmlResponse` is going to be used for a couple of other error
pages.
2022-04-04 18:35:20 +02:00
Veloman Yunkan
d8a60db739
Preparing for a single error page template
2022-04-04 18:35:20 +02:00
Veloman Yunkan
f4059f3faf
Got rid of withTaskbarInfo()
2022-04-04 18:35:20 +02:00
Veloman Yunkan
800cc5b68a
Got rid of Response::build_404()
2022-04-04 18:35:19 +02:00
Matthieu Gautier
feb30d08aa
Correctly define the variable `urlNotFoundMsg` and `invalidUrlMsg`.
...
As we must declare the two variables as `extern` in response.h,
we must define it somewhere (and `response.cpp` is a good place).
2022-04-01 11:58:57 +02:00
Matthieu Gautier
b1643e422e
Introduce HTTP400HtmlResponse.
...
HTTP400HtmlResponse is build on the same design than HTTP404HtmlResponse.
2022-03-28 17:35:15 +02:00
Veloman Yunkan
ec2e10b40e
Moved taskbarInfo into ContentResponseBlueprint
2022-03-28 14:56:40 +02:00
Veloman Yunkan
2da8ea1650
Moved function definition to cpp
2022-03-28 14:56:40 +02:00
Veloman Yunkan
0ecbdbcf63
Enter TaskbarInfo
...
After this change it's time to say thank you and good-bye to
`withTaskbarInfo()`. But it will take a while.
2022-03-28 14:56:40 +02:00
Veloman Yunkan
48d377ca44
HTTP404HtmlResponse::operator+(const std::string&)
2022-03-28 14:56:40 +02:00
Veloman Yunkan
1a5e2eda0f
HTTP404HtmlResponse::operator+(UrlNotFoundMsg)
2022-03-28 14:56:40 +02:00
Veloman Yunkan
89785a259a
Enter HTTP404HtmlResponse
2022-03-28 14:56:40 +02:00
Veloman Yunkan
668063205c
Enter UrlNotFoundMsg iomanipulator-like class
2022-03-28 14:56:40 +02:00
Veloman Yunkan
df98c58d07
Enter ContentResponseBlueprint
2022-03-28 14:56:40 +02:00
Veloman Yunkan
ff8da65c68
Separated make404ResponseData()
2022-03-28 14:56:40 +02:00
Veloman Yunkan
ae60ba806b
Made 404.html error template a little more generic
...
The fact that an info message was moved into C++ code is temporary
since it will be moved to a message resource file soon.
2022-03-28 14:56:40 +02:00
Veloman Yunkan
8cfcf2ea86
A new overload of Response::build_404()
2022-03-28 14:56:40 +02:00
Veloman Yunkan
26c16bb1b2
Renamed a variable
2022-03-28 14:56:40 +02:00
Veloman Yunkan
ca965d448f
Got rid of 2 parameters in Response::build_404()
...
Instead of passing the `bookName` and `bookTitle` parameters to
`Response::build_404()`, `withTaskbarInfo()` is applied to its result
when needed. Note, that in `InternalServer::handle_raw()`
`withTaskbarInfo()` was not utilized since the results of the `/raw`
endpoint are not supposed to be decorated with a taskbar.
2022-03-28 14:56:40 +02:00
Veloman Yunkan
6d16d7386d
Changed the signature of ContentResponse::set_taskbar()
2022-03-28 14:56:40 +02:00
Veloman Yunkan
40e9a19c48
Introduced withTaskbarInfo() helper function
...
This was done in preparation for removing the `bookName` and `bookTitle`
parameters from `Response::build_404()`, but since the new function
could already be put to some use in this commit that was done too.
2022-03-28 14:56:40 +02:00
Veloman Yunkan
d487c78ea4
Changed the return type of Response::build_404()
2022-03-28 14:56:40 +02:00
Matthieu Gautier
160a74f5f8
Extend ItemResponse and ContentResponse to return raw content.
2022-01-05 15:12:41 +01:00
Veloman Yunkan
d8c525289b
Changed the signature of Response::build_404()
...
Now Response::build_404() takes the URL instead of the entire
RequestContext object. An empty url suppresses the
The requested URL "url" was not found on this server.
part of the error text.
2021-12-22 17:12:34 +01:00
Veloman Yunkan
f7b853373c
Less confusing 404 errors from /random endpoint
...
Before this fix the /random endpoint could return a 404 Not Found page
saying
The requested URL "/random" was not found on this server.
Error cases producing such a result were:
- `/random?content=NON-EXISTING-BOOK` (can happen when a server is
restarted or the library is reloaded and the current book is no longer
available).
- Failure of the libkiwix routine for picking a random article.
Now a proper message is shown for each of those cases.
2021-12-22 17:12:34 +01:00
Vertigo
8d39b2c4c1
Added content ZIM home button on 404
2021-06-17 12:51:27 +05:30
Veloman Yunkan
cdacc0caf1
/catalog/v2/entries going through OPDSDumper
...
OPDSDumper sensed threats to its job security, so it lobbied to be
involved in handling the /catalog/v2 endpoints, too.
2021-06-08 20:37:00 +04:00
Manan Jethwani
bb92f26b60
added filter functionality
2021-06-07 15:37:20 +02:00
Emmanuel Engelhart
05cc3d015f
Insert root link only if html content
2021-05-14 14:49:28 +02:00
Vertigo
611146aa37
Added Search Link for bad bookName/articleName on 404
2021-04-12 21:31:47 +05:30
Manan Jethwani
7872734f44
changed method of injecting root link
2021-03-24 14:17:58 +05:30
Manan Jethwani
c557bb271b
injecting root link directly and renamed head_part to head_taskbar
2021-03-24 02:10:16 +05:30
Manan Jethwani
93264f7409
added root functionality for block external link feature
2021-03-23 03:17:14 +05:30
Emmanuel Engelhart
84895c4036
Better </head> detection regex
2021-01-18 13:16:56 +01:00
Emmanuel Engelhart
a8bf9dd5b4
Better Kiwix Serve Taskbar insertion (after charset definition)
2021-01-18 11:18:53 +01:00
Emmanuel Engelhart
a61c94ef10
Add GPLv3 header
2021-01-18 10:54:33 +01:00
Emmanuel Engelhart
8c43fd8d36
Fix taskbar insertion in case of '<head>' attributes
2021-01-11 14:37:19 +01:00
Matthieu Gautier
1a5a2e7a8e
Adapt kiwix-lib to the new libzim api.
2020-12-02 12:16:48 +01:00
Matthieu Gautier
6f0d3003ac
Remove `m_compress` member.
2020-08-13 11:16:41 +02:00
Matthieu Gautier
ee17b0739a
Fix compilation on CI native dyn.
...
On the CI, the native_dyn docker image is setup with a packaged version
on libmicrohttpd for which `MHD_HTTP_RANGE_NOT_SATISFIABLE` is not
defined.
When the CI will be fixed, we can revert this commit.
2020-08-13 11:16:41 +02:00
Matthieu Gautier
47436f7bdd
Move some header setting in response's constructors.
...
It make easier to understand what is somehow constant and what depends
of the context.
2020-08-13 11:16:41 +02:00
Matthieu Gautier
3352c95314
Remove the `RedirectResponse` and use a basic `Response` with header.
2020-08-13 11:16:41 +02:00
Matthieu Gautier
77123ac74c
Move the adding of 304 headers in 304 factory.
...
This avoid us to create a ContentResponse just to have some correct
headers.
2020-08-13 11:16:41 +02:00
Matthieu Gautier
9078f0ac6e
Remove `ResponseMode`.
2020-08-13 11:16:41 +02:00
Matthieu Gautier
8d6567d067
Create a utility builder for 416 response.
...
Also add a map in the response to store specific headers.
2020-08-13 11:16:41 +02:00
Matthieu Gautier
6d5cddca12
Fix android compilation
...
Android clang complains about the fact it cannot move the
`std::unique_ptr<ContentResponse>` into a `std::unique_ptr<Response>&&`
(for the implicit `std::unique_ptr<Response>` constructor).
Let's help him a bit.
2020-08-13 11:16:41 +02:00
Matthieu Gautier
a3939e9a05
Move all the content code in the ContentResponse.
2020-08-13 11:16:41 +02:00