]>
Commit | Line | Data |
---|---|---|
bbc27441 AJ |
1 | /* |
2 | * Copyright (C) 1996-2014 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 | ||
c302ddb5 | 9 | #include "squid.h" |
8986a47a | 10 | #include "acl/AdaptationService.h" |
c302ddb5 CT |
11 | #include "acl/Checklist.h" |
12 | #include "acl/IntRange.h" | |
c302ddb5 CT |
13 | #include "adaptation/Config.h" |
14 | #include "adaptation/History.h" | |
15 | #include "HttpRequest.h" | |
16 | ||
17 | int | |
18 | ACLAdaptationServiceStrategy::match (ACLData<MatchType> * &data, ACLFilledChecklist *checklist, ACLFlags &) | |
19 | { | |
20 | HttpRequest::Pointer request = checklist->request; | |
21 | if (request == NULL) | |
22 | return 0; | |
23 | Adaptation::History::Pointer ah = request->adaptHistory(); | |
24 | if (ah == NULL) | |
25 | return 0; | |
26 | ||
27 | Adaptation::History::AdaptationServices::iterator it; | |
28 | for (it = ah->theAdaptationServices.begin(); it != ah->theAdaptationServices.end(); ++it) { | |
29 | if (data->match(it->c_str())) | |
30 | return 1; | |
31 | } | |
32 | ||
33 | return 0; | |
34 | } | |
35 | ||
36 | ACLAdaptationServiceStrategy * | |
37 | ACLAdaptationServiceStrategy::Instance() | |
38 | { | |
39 | return &Instance_; | |
40 | } | |
41 | ||
42 | ACLAdaptationServiceStrategy ACLAdaptationServiceStrategy::Instance_; |