• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

KIOSlave

  • kioslave
  • http
Macros | Enumerations | Functions | Variables
http.cpp File Reference
#include "http.h"
#include <config.h>
#include <fcntl.h>
#include <utime.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <unistd.h>
#include <QtXml/qdom.h>
#include <QtCore/QFile>
#include <QtCore/QRegExp>
#include <QtCore/QDate>
#include <QtCore/QBuffer>
#include <QtCore/QIODevice>
#include <QtDBus/QtDBus>
#include <QtNetwork/QAuthenticator>
#include <QtNetwork/QNetworkProxy>
#include <QtNetwork/QTcpSocket>
#include <kurl.h>
#include <kdebug.h>
#include <klocale.h>
#include <kconfig.h>
#include <kconfiggroup.h>
#include <kservice.h>
#include <kdatetime.h>
#include <kcomponentdata.h>
#include <kmimetype.h>
#include <ktoolinvocation.h>
#include <kstandarddirs.h>
#include <kremoteencoding.h>
#include <ktcpsocket.h>
#include <kmessagebox.h>
#include <kio/ioslave_defaults.h>
#include <kio/http_slave_defaults.h>
#include <httpfilter.h>
#include <solid/networking.h>
#include <kapplication.h>
#include <kaboutdata.h>
#include <kcmdlineargs.h>
#include <kde_file.h>
#include <ktemporaryfile.h>
#include "httpauthentication.h"
#include "parsinghelpers.h"
#include "parsinghelpers.cpp"
#include "http.moc"

Go to the source code of this file.

Macros

#define NO_SIZE   ((KIO::filesize_t) -1)
 
#define QT_NO_CAST_FROM_ASCII
 
#define STRTOLL   strtol
 

Enumerations

enum  CacheCleanerCommandCode { InvalidCommand = 0 , CreateFileNotificationCommand , UpdateFileCommand }
 

Functions

static bool canHaveResponseBody (int responseCode, KIO::HTTP_METHOD method)
 
static void changeProtocolToHttp (KUrl *url)
 
static bool compareByte (QDataStream *stream, quint8 value)
 
static bool consume (const char input[], int *pos, int end, const char *term)
 
static QIODevice * createPostBufferDeviceFor (KIO::filesize_t size)
 
static QString filenameFromUrl (const KUrl &url)
 
static QString formatHttpDate (qint64 date)
 
static QString htmlEscape (const QString &plain)
 
static int httpDelError (const HTTPProtocol::HTTPRequest &request, QString *errorString)
 
static int httpGenericError (const HTTPProtocol::HTTPRequest &request, QString *errorString)
 
static int httpPutError (const HTTPProtocol::HTTPRequest &request, QString *errorString)
 
static bool isAuthenticationRequired (int responseCode)
 
static bool isCompatibleNextUrl (const KUrl &previous, const KUrl &now)
 
static bool isCrossDomainRequest (const QString &fqdn, const QString &originURL)
 
static bool isEncryptedHttpVariety (const QByteArray &p)
 
static bool isHttpProxy (const KUrl &u)
 
static bool isPotentialSpoofingAttack (const HTTPProtocol::HTTPRequest &request, const KConfigGroup *config)
 
static bool isValidProxy (const KUrl &u)
 
int kdemain (int argc, char **argv)
 
static QByteArray makeCacheCleanerCommand (const HTTPProtocol::CacheTag &cacheTag, CacheCleanerCommandCode cmd)
 
static qint64 parseDateTime (const QString &input, const QString &type)
 
static QString protocolForProxyType (QNetworkProxy::ProxyType type)
 
static bool readLineChecked (QIODevice *dev, QByteArray *line)
 
static QString sanitizeCustomHTTPHeader (const QString &_header)
 
static KUrl storableUrl (const KUrl &url)
 
static bool supportedProxyScheme (const QString &scheme)
 
static QString toQString (const QByteArray &value)
 
static qint64 toTime_t (const QString &value, KDateTime::TimeFormat format)
 
static void updateUDSEntryMimeType (UDSEntry *entry)
 
static void writeLine (QIODevice *dev, const QByteArray &line)
 

Variables

static const int s_hashedUrlBits = 160
 
static const int s_hashedUrlBytes = s_hashedUrlBits / 8
 
static const int s_hashedUrlNibbles = s_hashedUrlBits / 4
 
static const int s_MaxInMemPostBufSize = 256 * 1024
 

Macro Definition Documentation

◆ NO_SIZE

#define NO_SIZE   ((KIO::filesize_t) -1)

Definition at line 425 of file http.cpp.

◆ QT_NO_CAST_FROM_ASCII

#define QT_NO_CAST_FROM_ASCII

Definition at line 29 of file http.cpp.

◆ STRTOLL

#define STRTOLL   strtol

Definition at line 430 of file http.cpp.

Enumeration Type Documentation

◆ CacheCleanerCommandCode

enum CacheCleanerCommandCode
Enumerator
InvalidCommand 
CreateFileNotificationCommand 
UpdateFileCommand 

Definition at line 4678 of file http.cpp.

Function Documentation

◆ canHaveResponseBody()

static bool canHaveResponseBody ( int  responseCode,
KIO::HTTP_METHOD  method 
)
static

Definition at line 228 of file http.cpp.

◆ changeProtocolToHttp()

static void changeProtocolToHttp ( KUrl *  url)
static

Definition at line 343 of file http.cpp.

◆ compareByte()

static bool compareByte ( QDataStream *  stream,
quint8  value 
)
static

Definition at line 4712 of file http.cpp.

◆ consume()

static bool consume ( const char  input[],
int *  pos,
int  end,
const char *  term 
)
static

Definition at line 2880 of file http.cpp.

◆ createPostBufferDeviceFor()

static QIODevice * createPostBufferDeviceFor ( KIO::filesize_t  size)
static

Definition at line 287 of file http.cpp.

◆ filenameFromUrl()

static QString filenameFromUrl ( const KUrl &  url)
static

Definition at line 4853 of file http.cpp.

◆ formatHttpDate()

static QString formatHttpDate ( qint64  date)
static

Definition at line 406 of file http.cpp.

◆ htmlEscape()

static QString htmlEscape ( const QString &  plain)
static

Definition at line 91 of file http.cpp.

◆ httpDelError()

static int httpDelError ( const HTTPProtocol::HTTPRequest &  request,
QString *  errorString 
)
static

Definition at line 1797 of file http.cpp.

◆ httpGenericError()

static int httpGenericError ( const HTTPProtocol::HTTPRequest &  request,
QString *  errorString 
)
static

Definition at line 1782 of file http.cpp.

◆ httpPutError()

static int httpPutError ( const HTTPProtocol::HTTPRequest &  request,
QString *  errorString 
)
static

Definition at line 1824 of file http.cpp.

◆ isAuthenticationRequired()

static bool isAuthenticationRequired ( int  responseCode)
static

Definition at line 420 of file http.cpp.

◆ isCompatibleNextUrl()

static bool isCompatibleNextUrl ( const KUrl &  previous,
const KUrl &  now 
)
static

Definition at line 2152 of file http.cpp.

◆ isCrossDomainRequest()

static bool isCrossDomainRequest ( const QString &  fqdn,
const QString &  originURL 
)
static

Definition at line 150 of file http.cpp.

◆ isEncryptedHttpVariety()

static bool isEncryptedHttpVariety ( const QByteArray &  p)
static

Definition at line 272 of file http.cpp.

◆ isHttpProxy()

static bool isHttpProxy ( const KUrl &  u)
static

Definition at line 282 of file http.cpp.

◆ isPotentialSpoofingAttack()

static bool isPotentialSpoofingAttack ( const HTTPProtocol::HTTPRequest &  request,
const KConfigGroup *  config 
)
static

Definition at line 207 of file http.cpp.

◆ isValidProxy()

static bool isValidProxy ( const KUrl &  u)
static

Definition at line 277 of file http.cpp.

◆ kdemain()

int kdemain ( int  argc,
char **  argv 
)

Definition at line 126 of file http.cpp.

◆ makeCacheCleanerCommand()

static QByteArray makeCacheCleanerCommand ( const HTTPProtocol::CacheTag &  cacheTag,
CacheCleanerCommandCode  cmd 
)
static

Definition at line 4940 of file http.cpp.

◆ parseDateTime()

static qint64 parseDateTime ( const QString &  input,
const QString &  type 
)
static

Definition at line 307 of file http.cpp.

◆ protocolForProxyType()

static QString protocolForProxyType ( QNetworkProxy::ProxyType  type)
static

Definition at line 5212 of file http.cpp.

◆ readLineChecked()

static bool readLineChecked ( QIODevice *  dev,
QByteArray *  line 
)
static

Definition at line 4790 of file http.cpp.

◆ sanitizeCustomHTTPHeader()

static QString sanitizeCustomHTTPHeader ( const QString &  _header)
static

Definition at line 184 of file http.cpp.

◆ storableUrl()

static KUrl storableUrl ( const KUrl &  url)
static

Definition at line 4759 of file http.cpp.

◆ supportedProxyScheme()

static bool supportedProxyScheme ( const QString &  scheme)
static

Definition at line 111 of file http.cpp.

◆ toQString()

static QString toQString ( const QByteArray &  value)
static

Definition at line 145 of file http.cpp.

◆ toTime_t()

static qint64 toTime_t ( const QString &  value,
KDateTime::TimeFormat  format 
)
static

Definition at line 301 of file http.cpp.

◆ updateUDSEntryMimeType()

static void updateUDSEntryMimeType ( UDSEntry *  entry)
static

Definition at line 326 of file http.cpp.

◆ writeLine()

static void writeLine ( QIODevice *  dev,
const QByteArray &  line 
)
static

Definition at line 4767 of file http.cpp.

Variable Documentation

◆ s_hashedUrlBits

const int s_hashedUrlBits = 160
static

Definition at line 119 of file http.cpp.

◆ s_hashedUrlBytes

const int s_hashedUrlBytes = s_hashedUrlBits / 8
static

Definition at line 121 of file http.cpp.

◆ s_hashedUrlNibbles

const int s_hashedUrlNibbles = s_hashedUrlBits / 4
static

Definition at line 120 of file http.cpp.

◆ s_MaxInMemPostBufSize

const int s_MaxInMemPostBufSize = 256 * 1024
static

Definition at line 122 of file http.cpp.

This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KIOSlave

Skip menu "KIOSlave"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal