1/*
2 localdomainurifilter.h
3
4 This file is part of the KDE project
5 SPDX-FileCopyrightText: 2002 Lubos Lunak <llunak@suse.cz>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9
10#ifndef LOCALDOMAINURIFILTER_H
11#define LOCALDOMAINURIFILTER_H
12
13#include "kurifilterplugin_p.h"
14#include <QRegularExpression>
15
16/**
17 This filter takes care of hostnames in the local search domain.
18 If you're in domain domain.org which has a host intranet.domain.org
19 and the typed URI is just intranet, check if there's a host
20 intranet.domain.org and if yes, it's a network URI.
21*/
22class LocalDomainUriFilter : public KUriFilterPlugin
23{
24 Q_OBJECT
25
26public:
27 using KUriFilterPlugin::KUriFilterPlugin;
28 bool filterUri(KUriFilterData &data) const override;
29
30private:
31 bool exists(const QString &) const;
32
33 const QRegularExpression m_hostPortPattern{
34 QRegularExpression::anchoredPattern(expression: uR"--([a-zA-Z0-9][a-zA-Z0-9+-]*(?:\:[0-9]{1,5})?(?:/[\w:@&=+$,-.!~*'()]*)*)--"),
35 };
36};
37
38#endif
39

source code of kio/src/urifilters/localdomain/localdomainurifilter.h