|
Squid Web Cache master
|
#include <HttpHeaderRange.h>
Public Types | |
| typedef std::vector< HttpHdrRangeSpec * >::iterator | iterator |
| typedef std::vector< HttpHdrRangeSpec * >::const_iterator | const_iterator |
Public Member Functions | |
| HttpHdrRange () | |
| HttpHdrRange (HttpHdrRange const &) | |
| ~HttpHdrRange () | |
| HttpHdrRange & | operator= (HttpHdrRange const &) |
| iterator | begin () |
| const_iterator | begin () const |
| iterator | end () |
| const_iterator | end () const |
| int | canonize (int64_t) |
| int | canonize (HttpReply *rep) |
| bool | parseInit (const String *range_spec) |
| void | packInto (Packable *p) const |
| bool | isComplex () const |
| bool | willBeComplex () const |
| int64_t | firstOffset () const |
| int64_t | lowestOffset (int64_t) const |
| bool | offsetLimitExceeded (const int64_t limit) const |
Static Public Member Functions | |
| static HttpHdrRange * | ParseCreate (const String *range_spec) |
Public Attributes | |
| std::vector< HttpHdrRangeSpec * > | specs |
Static Public Attributes | |
| static size_t | ParsedCount = 0 |
Private Member Functions | |
| MEMPROXY_CLASS (HttpHdrRange) | |
| void | getCanonizedSpecs (std::vector< HttpHdrRangeSpec * > ©) |
| void | merge (std::vector< HttpHdrRangeSpec * > &basis) |
Private Attributes | |
| int64_t | clen |
There may be more than one byte range specified in the request. This object holds all range specs in order of their appearance in the request because we SHOULD preserve that order.
Definition at line 51 of file HttpHeaderRange.h.
| typedef std::vector<HttpHdrRangeSpec*>::const_iterator HttpHdrRange::const_iterator |
Definition at line 66 of file HttpHeaderRange.h.
| typedef std::vector<HttpHdrRangeSpec*>::iterator HttpHdrRange::iterator |
Definition at line 65 of file HttpHeaderRange.h.
| HttpHdrRange::HttpHdrRange | ( | ) |
Definition at line 214 of file HttpHdrRange.cc.
Referenced by ParseCreate().
| HttpHdrRange::HttpHdrRange | ( | HttpHdrRange const & | old | ) |
| HttpHdrRange::~HttpHdrRange | ( | ) |
Definition at line 271 of file HttpHdrRange.cc.
References specs.
| HttpHdrRange::iterator HttpHdrRange::begin | ( | ) |
Definition at line 292 of file HttpHdrRange.cc.
References specs.
Referenced by HttpHdrRange(), firstOffset(), getCanonizedSpecs(), isComplex(), lowestOffset(), ClientHttpRequest::mRangeCLen(), packInto(), ClientHttpRequest::prepPartialResponseGeneration(), TestHttpRange::testRangeIter(), TestHttpRange::testRangeParsing(), and willBeComplex().
| HttpHdrRange::const_iterator HttpHdrRange::begin | ( | ) | const |
Definition at line 304 of file HttpHdrRange.cc.
References specs.
Definition at line 381 of file HttpHdrRange.cc.
References assert, canonize(), clen, Http::Message::content_length, HttpReply::contentRange(), and HttpHdrContRange::elength.
| int HttpHdrRange::canonize | ( | int64_t | newClen | ) |
Definition at line 394 of file HttpHdrRange.cc.
References clen, debugs, getCanonizedSpecs(), merge(), and specs.
Referenced by canonize(), and TestHttpRange::testRangeCanonization().
| HttpHdrRange::iterator HttpHdrRange::end | ( | ) |
Definition at line 298 of file HttpHdrRange.cc.
References specs.
Referenced by HttpHdrRange(), firstOffset(), getCanonizedSpecs(), isComplex(), lowestOffset(), ClientHttpRequest::mRangeCLen(), packInto(), ClientHttpRequest::prepPartialResponseGeneration(), TestHttpRange::testRangeIter(), and willBeComplex().
| HttpHdrRange::const_iterator HttpHdrRange::end | ( | ) | const |
Definition at line 310 of file HttpHdrRange.cc.
References specs.
| int64_t HttpHdrRange::firstOffset | ( | ) | const |
Definition at line 467 of file HttpHdrRange.cc.
References begin(), end(), known_spec, and HttpHdrRangeSpec::UnknownPosition.
Referenced by offsetLimitExceeded().
|
private |
Definition at line 357 of file HttpHdrRange.cc.
References begin(), clen, debugs, end(), and specs.
Referenced by canonize().
| bool HttpHdrRange::isComplex | ( | ) | const |
Definition at line 410 of file HttpHdrRange.cc.
| int64_t HttpHdrRange::lowestOffset | ( | int64_t | size | ) | const |
Definition at line 489 of file HttpHdrRange.cc.
References begin(), end(), known_spec, size, and HttpHdrRangeSpec::UnknownPosition.
Referenced by clientInterpretRequestHeaders().
|
private |
|
private |
Definition at line 331 of file HttpHdrRange.cc.
Referenced by canonize().
| bool HttpHdrRange::offsetLimitExceeded | ( | const int64_t | limit | ) | const |
Definition at line 518 of file HttpHdrRange.cc.
References firstOffset().
Referenced by HttpStateData::decideIfWeDoRanges().
| HttpHdrRange & HttpHdrRange::operator= | ( | HttpHdrRange const & | ) |
| void HttpHdrRange::packInto | ( | Packable * | p | ) | const |
Definition at line 316 of file HttpHdrRange.cc.
References Packable::append(), begin(), and end().
Referenced by HttpHeader::putRange().
|
static |
Definition at line 218 of file HttpHdrRange.cc.
References HttpHdrRange(), and parseInit().
Referenced by HttpHeader::getRange(), rangeFromString(), and TestHttpRange::testRangeParsing().
| bool HttpHdrRange::parseInit | ( | const String * | range_spec | ) |
Definition at line 232 of file HttpHdrRange.cc.
References assert, String::caseCmp(), HttpHdrRangeSpec::Create(), debugs, ParsedCount, specs, strListGetItem(), and String::termedBuf().
Referenced by ParseCreate().
| bool HttpHdrRange::willBeComplex | ( | ) | const |
Definition at line 436 of file HttpHdrRange.cc.
References assert, begin(), end(), and known_spec.
|
private |
Definition at line 89 of file HttpHeaderRange.h.
Referenced by canonize(), canonize(), and getCanonizedSpecs().
|
static |
Definition at line 56 of file HttpHeaderRange.h.
Referenced by parseInit().
| std::vector<HttpHdrRangeSpec *> HttpHdrRange::specs |
Definition at line 84 of file HttpHeaderRange.h.
Referenced by HttpHdrRange(), ~HttpHdrRange(), begin(), begin(), canonize(), end(), end(), getCanonizedSpecs(), merge(), HttpRequest::multipartRangeRequest(), parseInit(), ClientHttpRequest::prepPartialResponseGeneration(), TestHttpRange::testRangeCanonization(), TestHttpRange::testRangeIter(), and TestHttpRange::testRangeParsing().