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
17int
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
ACLFilledChecklist * Filled(ACLChecklist *checklist)
convenience and safety wrapper for dynamic_cast<ACLFilledChecklist*>
int match(ACLChecklist *) override
Matches the actual data in checklist against this Acl::Node.
Definition Url.cc:18
static SBuf DecodeOrDupe(const SBuf &input)
Definition Uri.cc:132
const char * c_str()
Definition SBuf.cc:516