AnnotateClient.cc
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 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
16int
18{
19 const auto checklist = Filled(ch);
20
21 if (const auto conn = checklist->conn()) {
22 const auto tdata = dynamic_cast<ACLAnnotationData*>(data.get());
23 assert(tdata);
24 tdata->annotate(conn->notes(), &delimiters.value, checklist->al);
25 if (const auto request = checklist->request)
26 tdata->annotate(request->notes(), &delimiters.value, checklist->al);
27 return 1;
28 }
29 return 0;
30}
31
ACLFilledChecklist * Filled(ACLChecklist *checklist)
convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
int conn
the current server connection FD
Definition: Transport.cc:26
#define assert(EX)
Definition: assert.h:17
int match(ACLChecklist *) override
Matches the actual data in checklist against this ACL.
Acl::CharacterSetOptionValue delimiters
annotation separators
Definition: Note.h:27
Value value
final value storage, possibly after conversions
Definition: Options.h:120

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors