AnnotateClient.cc
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2022 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9#include "squid.h"
10#include "acl/AnnotateClient.h"
11#include "acl/AnnotationData.h"
12#include "acl/FilledChecklist.h"
13#include "client_side.h"
14#include "http/Stream.h"
15#include "Notes.h"
16
17int
19{
20 if (const auto conn = checklist->conn()) {
21 ACLAnnotationData *tdata = dynamic_cast<ACLAnnotationData*>(data);
22 assert(tdata);
23 tdata->annotate(conn->notes(), &delimiters.value, checklist->al);
24 if (const auto request = checklist->request)
25 tdata->annotate(request->notes(), &delimiters.value, checklist->al);
26 return 1;
27 }
28 return 0;
29}
30
int conn
the current server connection FD
Definition: Transport.cc:26
#define assert(EX)
Definition: assert.h:19
virtual int match(ACLData< MatchType > *&, ACLFilledChecklist *)
void annotate(NotePairs::Pointer pairs, const CharacterSet *delimiters, const AccessLogEntry::Pointer &al)
Stores annotations into pairs.
HttpRequest * request
ConnStateData * conn() const
The client connection manager.
AccessLogEntry::Pointer al
info for the future access.log, and external ACL
Acl::CharacterSetOptionValue delimiters
annotation separators
Definition: Note.h:27
Value value
final value storage, possibly after conversions
Definition: Options.h:120
struct _request * request(char *urlin)
Definition: tcp-banger2.c:291

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors