Veloman Yunkan
c73e6f9a81
Dropped unused params from ContentResponse ctor
2022-09-21 15:41:40 +04:00
Veloman Yunkan
0cf4850a9b
Dropped TaskbarInfo
2022-09-21 15:41:40 +04:00
Veloman Yunkan
40c496d401
Removed old-style taskbar injection
...
Double-toolbar in the viewer has gone.
Some clean-up has to be performed after this change.
2022-09-21 15:41:40 +04:00
Emmanuel Engelhart
1062bd73a3
It's libkiwix, not kiwixlib
2022-09-11 16:05:25 +02:00
Matthieu Gautier
71e2df7406
Explicit std
...
Removed headers were `using namespace std`.
So we have to be explicit everywhere.
2022-07-02 16:33:32 +02:00
Matthieu Gautier
cadd2a5cbb
Make the HTTPErrorHtmlResponse not Html only.
2022-06-03 15:46:41 +02:00
Matthieu Gautier
4695f47dd2
Introduce operator+= to simplify response creation.
2022-05-23 10:56:39 +02:00
Matthieu Gautier
fba0f09f4f
Do not compress content smaller than 1400 Bytes
2022-04-27 18:23:39 +02:00
Matthieu Gautier
0d294c50a5
[SERVER] Support gzip encoding instead of deflate.
...
The `compress` function is copied from httplib
2022-04-27 18:23:38 +02:00
Veloman Yunkan
a0d9a824e1
Internationalized searchbox tooltip
2022-04-13 16:40:20 +02:00
Veloman Yunkan
11be821c46
Internationalized "Go to a randomly selected page"
...
At this point a potential issue has been revealed. Now we produce
the final HTML via 2-level template expansion
1. Render parameterized messages
2. Render the HTML template
In which templates we should use double mustache "{{}}" (HTML-escaping)
tags and where we may use triple mustache "{{{}}}" (non-escaping) tags?
2022-04-13 16:40:20 +02:00
Veloman Yunkan
3da81a3d0f
Internationalized "Go to the main page" button
2022-04-13 16:40:20 +02:00
Veloman Yunkan
f73be3cde7
Initializing mustache data via initializer list
2022-04-13 16:40:20 +02:00
Veloman Yunkan
c2bfeb4030
"Go to welcome page" is internationalized
2022-04-13 16:40:20 +02:00
Veloman Yunkan
fbd23a8329
Fully internationalized 400, 404 & 500 error pages
2022-04-13 16:40:20 +02:00
Veloman Yunkan
387f977d6c
Enter ParameterizedMessage
2022-04-13 16:40:20 +02:00
Veloman Yunkan
202ec81d8b
URL-not-found message went into i18n JSON resource
...
Yet, the URL-not-found message is not yet fully internationalized
since its usage is hardcoded to English.
2022-04-13 16:40:20 +02:00
Veloman Yunkan
dbcbdff275
Added an optional CSS link to error.html
2022-04-05 20:49:09 +04:00
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