Squid Web Cache
master
Loading...
Searching...
No Matches
Url.cc
Go to the documentation of this file.
1
/*
2
* Copyright (C) 1996-2025 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
/* DEBUG: section 28 Access Control */
10
11
#include "
squid.h
"
12
#include "
acl/FilledChecklist.h
"
13
#include "
acl/Url.h
"
14
#include "
anyp/Uri.h
"
15
#include "
HttpRequest.h
"
16
17
int
18
Acl::UrlCheck::match
(
ACLChecklist
*
const
ch)
19
{
20
const
auto
checklist =
Filled
(ch);
21
22
// TODO: Consider refactoring so that effectiveRequestUri() returns decoded URI.
23
// XXX: c_str() truncates where %00 was decoded
24
return
data
->match(
AnyP::Uri::DecodeOrDupe
(checklist->request->effectiveRequestUri()).
c_str
());
25
}
26
FilledChecklist.h
Filled
ACLFilledChecklist * Filled(ACLChecklist *checklist)
convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
Definition
FilledChecklist.h:146
HttpRequest.h
Uri.h
Url.h
ACLChecklist
Definition
Checklist.h:31
Acl::ParameterizedNode< ACLData< const char * > >::data
std::unique_ptr< Parameters > data
Definition
ParameterizedNode.h:43
Acl::UrlCheck::match
int match(ACLChecklist *) override
Matches the actual data in checklist against this Acl::Node.
Definition
Url.cc:18
AnyP::Uri::DecodeOrDupe
static SBuf DecodeOrDupe(const SBuf &input)
Definition
Uri.cc:132
SBuf::c_str
const char * c_str()
Definition
SBuf.cc:516
squid.h
squid
src
acl
Url.cc
Generated by
1.9.8