Matthieu Gautier
bf93d10cde
Merge pull request #364 from kiwix/issue363
...
Fix for the failing assertion in the ByteRange constructor
2020-06-03 10:43:16 +02:00
Veloman Yunkan
05ef5d5f51
Assertion in ByteRange allows 0-sized content
...
The assertion in the ByteRange constructor was written under the assumption that the content must have non-zero size. Now it allows that corner case.
2020-06-02 21:53:47 +04:00
Matthieu Gautier
4cdae3ca98
New version 9.2.1
2020-06-02 10:18:12 +02:00
Matthieu Gautier
7dcaeed33a
Merge pull request #360 from kiwix/http_byte_range
2020-06-01 17:41:59 +02:00
Veloman Yunkan
f52b220d01
Dropped RequestContext::has_range()
2020-05-26 14:10:26 +04:00
Veloman Yunkan
50a850f3a9
Fixed a comment
2020-05-26 14:04:18 +04:00
Veloman Yunkan
886ae17274
Fixed a CodeFactor issue
2020-05-26 13:59:47 +04:00
Veloman Yunkan
a9b6d481cc
ServerTest.RangeHasPrecedenceOverCompression
2020-05-26 13:58:20 +04:00
Veloman Yunkan
85d6daabac
Rolled back minor unneeded changes
2020-05-26 13:10:50 +04:00
Veloman Yunkan
5f1918d005
Split a long line
2020-05-26 13:04:03 +04:00
Veloman Yunkan
16bd79fa1b
Final clean-up of byte_range.{h,cpp}
2020-05-26 12:50:08 +04:00
Veloman Yunkan
c2ebdefe8d
Handling of unsatisfiable ranges
2020-05-26 02:11:26 +04:00
Veloman Yunkan
37032892a4
Fixed compilation error under win32_*
...
ERROR is a macro under Windows
2020-05-26 01:58:17 +04:00
Veloman Yunkan
6b43438b74
Fixed compilation error under native_dyn
...
MHD_HTTP_RANGE_NOT_SATISFIABLE is not defined in the older version of
libmicrohttpd (that is used under CI/Linux native_dyn).
2020-05-26 01:54:36 +04:00
Veloman Yunkan
7301bf89bb
Some refactoring of byte-range parsing
2020-05-26 01:50:29 +04:00
Veloman Yunkan
ff23b28e7c
Removed unnecessary qualifier
2020-05-26 01:41:37 +04:00
Veloman Yunkan
931e95f391
Invalid byte ranges result in 416 responses
2020-05-26 01:40:07 +04:00
Veloman Yunkan
f7571b5b69
Content-Range header is set only for partial content
2020-05-25 17:42:18 +04:00
Veloman Yunkan
801ad18a89
ByteRange::resolve()
2020-05-25 17:27:35 +04:00
Veloman Yunkan
67a347c0c4
Moved byte-range parsing to byte_range.cpp
2020-05-25 17:21:10 +04:00
Veloman Yunkan
693905eb68
Default constructed ByteRange is a full range
2020-05-25 17:17:56 +04:00
Veloman Yunkan
f3e79c6b4c
Introduced src/server/byte_range.cpp
2020-05-25 16:43:44 +04:00
Veloman Yunkan
52f207eaa6
Support for single-ended byte ranges
2020-05-25 16:37:01 +04:00
Veloman Yunkan
67294217a8
ByteRange::Kind
2020-05-25 16:23:44 +04:00
Veloman Yunkan
d111a40ce8
Response::m_byteRange
2020-05-23 20:35:22 +04:00
Veloman Yunkan
0c5bb3fcfe
Moved ByteRange to a header file of its own
2020-05-23 20:08:53 +04:00
Veloman Yunkan
3fba8c20a0
Converted RequestContext::ByteRange to a class
...
Also renamed the `range_pair` data member of `RequestContext` to `byteRange_`
2020-05-23 19:59:47 +04:00
Veloman Yunkan
54db6049b7
Byte-range parsing not exposed in the header file
2020-05-23 18:58:19 +04:00
Veloman Yunkan
81c38d6b2b
parse_byte_range() without side-effects
2020-05-23 18:53:16 +04:00
Veloman Yunkan
e6a86c02ae
Got rid of RequestContext::accept_range
2020-05-23 17:15:42 +04:00
Veloman Yunkan
a0f7f32570
Re-ordered function definitions
2020-05-23 17:11:26 +04:00
Veloman Yunkan
c39fce8839
RequestContext::parse_byte_range()
2020-05-23 17:09:51 +04:00
Veloman Yunkan
bd2d0bc489
Unit-test for valid single range requests
2020-05-22 17:39:00 +04:00
Veloman Yunkan
de37489c53
Range header starts with a unit spec
...
After this commit valid ranges of the form "bytes=firstbyte-lastbyte" should
be handled correctly.
2020-05-22 17:17:31 +04:00
Veloman Yunkan
2a35a86de6
Fixed the size value used creating a response
...
In case of a partial response the size of the response is different
from the served entry size.
2020-05-22 16:49:35 +04:00
Veloman Yunkan
0a30a77c08
Handling of out of bound byte ranges
2020-05-22 16:46:38 +04:00
Veloman Yunkan
1a99bacfe3
Byte ranges are inclusive
...
The second component of a byte range, if present, designates the
index of the last byte to be included in the partial response.
2020-05-22 16:30:43 +04:00
Matthieu Gautier
2bf35f1651
New version 9.2
2020-05-18 15:23:01 +02:00
Matthieu Gautier
48cc277468
Merge pull request #356 from kiwix/fix_test_httplib
2020-05-18 14:44:18 +02:00
Matthieu Gautier
d8498fd655
Do not build `server` test on windows.
...
On the appveyor CI, the link of the `server` test fails with
`libmicrohttpd`.
Do not build the test on windows to not break the CI.
2020-05-18 13:13:17 +02:00
Matthieu Gautier
7ec8e33b83
Fix include of `httplib.h` on windows.
...
On windows, `httplib.h` must be included before `windows.h`
We do not include directly `windows.h` in the test but it is included
indirectly by other headers.
Let's include httplib first.
2020-05-18 11:16:25 +02:00
Kelson
8eb2d0c2a1
Explain how to run automated tests
2020-05-18 08:37:51 +02:00
Kelson
5995cc276d
Merge pull request #355 from kiwix/more-often-http-compression
...
Add two OPDS related mime-types to compress for HTTP
2020-05-18 08:33:44 +02:00
Kelson
94c2ab4395
Add two OPDS related mime-types to compress for HTTP
2020-05-18 08:19:51 +02:00
Kelson
15179db945
Merge pull request #354 from kiwix/small-http-header-beautification
...
Small HTTP header beautification
2020-05-17 21:50:26 +02:00
Kelson
0f07cab920
Small HTTP header beautification
2020-05-17 20:19:19 +02:00
Kelson
4f8b397081
Merge pull request #352 from kiwix/small-compilation-error-fix
...
Fix small compilation error in tests
2020-05-17 18:37:53 +02:00
Kelson
2df74d9755
Fix small compilation error in tests
2020-05-17 16:47:21 +02:00
Matthieu Gautier
0b25492edc
Merge pull request #348 from kiwix/http_head_and_etag
2020-05-15 13:55:50 +02:00
Veloman Yunkan
5f0a9d0b08
Added a comment clarifying a non-obvious case
2020-05-15 15:17:04 +04:00