#include <StatusLine.h>

Collaboration diagram for Http::StatusLine:

Public Member Functions

void init ()
 reset this status-line back to empty state More...
 
void clean ()
 reset this status-line back to Internal Server Error state More...
 
void set (const AnyP::ProtocolVersion &newVersion, Http::StatusCode newStatus, const char *newReason=nullptr)
 
void resetReason ()
 reset the reason phrase to its default status code-derived value More...
 
Http::StatusCode status () const
 retrieve the status code for this status line More...
 
const char * reason () const
 retrieve the reason string for this status line More...
 
size_t packedLength () const
 expected size of packInto() output More...
 
void packInto (Packable *) const
 pack fields into a Packable object More...
 
bool parse (const String &protoPrefix, const char *start, const char *end)
 

Public Attributes

AnyP::ProtocolVersion version
 breakdown of protocol version label: (HTTP/ICY) and (0.9/1.0/1.1) More...
 

Private Attributes

Http::StatusCode status_ = scNone
 status code. ie 100 ... 200 ... 404 ... 599 More...
 
const char * reason_ = nullptr
 points to a constant string (default or supplied), never free()d More...
 

Detailed Description

Holds the values parsed from an HTTP-like reply status line.

For example: HTTP/1.1 200 OK

Definition at line 27 of file StatusLine.h.

Member Function Documentation

◆ clean()

void Http::StatusLine::clean ( )

Definition at line 28 of file StatusLine.cc.

References Http::ProtocolVersion(), and Http::scInternalServerError.

Referenced by HttpReply::clean().

◆ init()

void Http::StatusLine::init ( void  )

Definition at line 22 of file StatusLine.cc.

References Http::ProtocolVersion(), Http::scNone, and set().

Referenced by HttpReply::init().

◆ packedLength()

size_t Http::StatusLine::packedLength ( ) const

◆ packInto()

◆ parse()

bool Http::StatusLine::parse ( const String protoPrefix,
const char *  start,
const char *  end 
)

Parse a buffer and fill internal structures;

Returns
true on success, false otherwise

Definition at line 124 of file StatusLine.cc.

References assert, SBuf::assign(), String::caseCmp(), String::cmp(), CurrentException(), debugs, Http::One::ResponseParser::ParseResponseStatus(), AnyP::PROTO_ICY, Ftp::ProtocolVersion(), Http::scInvalidHeader, String::size(), version, and xisdigit.

Referenced by HttpReply::parseFirstLine().

◆ reason()

const char * Http::StatusLine::reason ( ) const

Definition at line 44 of file StatusLine.cc.

References Http::StatusCodeString().

Referenced by Ftp::Server::writeErrorReply().

◆ resetReason()

void Http::StatusLine::resetReason ( )
inline

Definition at line 42 of file StatusLine.h.

References reason_.

◆ set()

void Http::StatusLine::set ( const AnyP::ProtocolVersion newVersion,
Http::StatusCode  newStatus,
const char *  newReason = nullptr 
)

set this status-line to the given values when reason is NULL the default message text for this StatusCode will be used when reason is not NULL, it must not point to a dynamically allocated value

Definition at line 35 of file StatusLine.cc.

References version.

Referenced by Http::Stream::buildRangeHeader(), Http::Tunneler::handleResponse(), HttpReply::httpMsgParseError(), Ftp::HttpReplyWrapper(), init(), HttpReply::make304(), HttpReply::MakeConnectionEstablished(), Http::One::Server::processParsedRequest(), HttpStateData::processReplyHeader(), HttpReply::redirect(), HttpReply::setHeaders(), and CacheManager::start().

◆ status()

Member Data Documentation

◆ reason_

const char* Http::StatusLine::reason_ = nullptr
private

Definition at line 72 of file StatusLine.h.

Referenced by resetReason().

◆ status_

Http::StatusCode Http::StatusLine::status_ = scNone
private

Definition at line 69 of file StatusLine.h.

Referenced by status().

◆ version


The documentation for this class was generated from the following files:

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors