#include "squid.h"
#include "acl/FilledChecklist.h"
#include "acl/Gadgets.h"
#include "anyp/PortCfg.h"
#include "client_side_reply.h"
#include "errorpage.h"
#include "ETag.h"
#include "fd.h"
#include "fde.h"
#include "format/Token.h"
#include "FwdState.h"
#include "globals.h"
#include "http/Stream.h"
#include "HttpHeaderTools.h"
#include "HttpReply.h"
#include "HttpRequest.h"
#include "ip/QosConfig.h"
#include "ipcache.h"
#include "log/access_log.h"
#include "MemObject.h"
#include "mime_header.h"
#include "neighbors.h"
#include "refresh.h"
#include "RequestFlags.h"
#include "SquidConfig.h"
#include "SquidMath.h"
#include "Store.h"
#include "StrList.h"
#include "tools.h"
#include "auth/UserRequest.h"
#include "DelayPools.h"
#include "esi/Esi.h"
#include <memory>
Go to the source code of this file.
Macros | |
#define | SENDING_BODY 0 |
#define | SENDING_HDRSONLY 1 |
Functions | |
ErrorState * | clientBuildError (err_type, Http::StatusCode, char const *, const ConnStateData *, HttpRequest *, const AccessLogEntry::Pointer &) |
void | purgeEntriesByUrl (HttpRequest *req, const char *url) |
clientStream_status_t | clientReplyStatus (clientStreamNode *aNode, ClientHttpRequest *http) |
void | clientGetMoreData (clientStreamNode *aNode, ClientHttpRequest *http) |
void | clientReplyDetach (clientStreamNode *node, ClientHttpRequest *http) |
Variables | |
CSS | clientReplyStatus |
SQUIDCEXTERN CSR | clientGetMoreData |
SQUIDCEXTERN CSD | clientReplyDetach |
Macro Definition Documentation
◆ SENDING_BODY
#define SENDING_BODY 0 |
Definition at line 1005 of file client_side_reply.cc.
◆ SENDING_HDRSONLY
#define SENDING_HDRSONLY 1 |
Definition at line 1006 of file client_side_reply.cc.
Function Documentation
◆ clientBuildError()
ErrorState * clientBuildError | ( | err_type | page_id, |
Http::StatusCode | status, | ||
char const * | url, | ||
const ConnStateData * | conn, | ||
HttpRequest * | request, | ||
const AccessLogEntry::Pointer & | al | ||
) |
Definition at line 2134 of file client_side_reply.cc.
References conn, Ip::Address::NoAddr(), and xstrdup.
Referenced by ClientHttpRequest::calloutsError(), ClientRequestContext::clientAccessCheckDone(), ESIContext::fail(), clientReplyContext::processMiss(), clientReplyContext::processOnlyIfCachedMiss(), clientReplyContext::processReplyAccessResult(), clientReplyContext::purgeDoPurge(), clientReplyContext::purgeRequest(), clientReplyContext::sendBodyTooLargeError(), clientReplyContext::sendPreconditionFailedError(), and clientReplyContext::setReplyToError().
◆ clientGetMoreData()
void clientGetMoreData | ( | clientStreamNode * | aNode, |
ClientHttpRequest * | http | ||
) |
Request more data from the store for the client Stream This is the entry point to this module.
Preconditions:
- This is the head of the list.
- There is at least one more node.
- Data context is not null
Definition at line 1605 of file client_side_reply.cc.
References assert, cbdataReferenceValid(), clientStreamNode::data, clientReplyContext::doGetMoreData(), clientReplyContext::flags, HttpHeader::getInt64(), RefCount< C >::getRaw(), Http::Message::header, clientReplyContext::http, clientReplyContext::identifyStoreObject(), LOG_TCP_MISS, Http::MAX_FORWARDS, HttpRequest::method, Http::METHOD_PURGE, Http::METHOD_TRACE, dlink_node::next, clientStreamNode::node, clientReplyContext::ourNode, dlink_node::prev, clientReplyContext::purgeRequest(), ClientHttpRequest::request, clientReplyContext::requestMoreBodyFromStore(), clientReplyContext::Flags::storelogiccomplete, clientReplyContext::traceReply(), and ClientHttpRequest::updateLoggingTags().
◆ clientReplyDetach()
void clientReplyDetach | ( | clientStreamNode * | node, |
ClientHttpRequest * | http | ||
) |
The next node has removed itself from the stream.
detach from the stream
Definition at line 1687 of file client_side_reply.cc.
References clientStreamDetach().
◆ clientReplyStatus()
clientStream_status_t clientReplyStatus | ( | clientStreamNode * | aNode, |
ClientHttpRequest * | http | ||
) |
Definition at line 1104 of file client_side_reply.cc.
References assert, clientStreamNode::data, RefCount< C >::getRaw(), clientReplyContext::http, and clientReplyContext::replyStatus().
◆ purgeEntriesByUrl()
void purgeEntriesByUrl | ( | HttpRequest * | req, |
const char * | url | ||
) |
Definition at line 862 of file client_side_reply.cc.
References debugs, Store::Controller::evictIfFound(), HTCP_CLR_INVALIDATION, Http::METHOD_ENUM_END, Http::METHOD_NONE, neighborsHtcpClear(), Store::Root(), storeKeyPublic(), and storeKeyText().
Referenced by Client::maybePurgeOthers(), clientReplyContext::purgeAllCached(), and purgeEntriesByHeader().
Variable Documentation
◆ clientGetMoreData
SQUIDCEXTERN CSR clientGetMoreData |
Definition at line 503 of file client_side_reply.cc.
◆ clientReplyDetach
SQUIDCEXTERN CSD clientReplyDetach |
Definition at line 504 of file client_side_reply.cc.
◆ clientReplyStatus
CSS clientReplyStatus |
Definition at line 55 of file client_side_reply.cc.