#include "squid.h"#include "acl/FilledChecklist.h"#include "acl/Gadgets.h"#include "anyp/PortCfg.h"#include "client_side_reply.h"#include "clientStream.h"#include "errorpage.h"#include "ETag.h"#include "fd.h"#include "fde.h"#include "format/Token.h"#include "FwdState.h"#include "globals.h"#include "HeaderMangling.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 <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 |
| CSR | clientGetMoreData |
| CSD | clientReplyDetach |
Macro Definition Documentation
◆ SENDING_BODY
| #define SENDING_BODY 0 |
Definition at line 1015 of file client_side_reply.cc.
◆ SENDING_HDRSONLY
| #define SENDING_HDRSONLY 1 |
Definition at line 1016 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 2118 of file client_side_reply.cc.
References Server::clientConnection, Ip::Address::NoAddr(), Comm::Connection::remote, and xstrdup.
Referenced by ClientHttpRequest::calloutsError(), ClientRequestContext::clientAccessCheckDone(), 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 1603 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 1685 of file client_side_reply.cc.
References clientStreamDetach().
◆ clientReplyStatus()
| clientStream_status_t clientReplyStatus | ( | clientStreamNode * | aNode, |
| ClientHttpRequest * | http | ||
| ) |
Definition at line 1114 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 869 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
| CSR clientGetMoreData |
Definition at line 506 of file client_side_reply.cc.
◆ clientReplyDetach
| CSD clientReplyDetach |
Definition at line 507 of file client_side_reply.cc.
◆ clientReplyStatus
| CSS clientReplyStatus |
Definition at line 54 of file client_side_reply.cc.
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products
