llhttpclient.cpp File Reference

Implementation of classes for making HTTP requests. More...

#include "linden_common.h"
#include "llhttpclient.h"
#include "llassetstorage.h"
#include "lliopipe.h"
#include "llurlrequest.h"
#include "llbufferstream.h"
#include "llsdserialize.h"
#include "llvfile.h"
#include "llvfs.h"
#include "lluri.h"
#include "message.h"
#include <curl/curl.h>

Include dependency graph for llhttpclient.cpp:

Go to the source code of this file.

Namespaces

namespace  boost

Classes

class  LLHTTPBuffer

Functions

static void request (const std::string &url, LLURLRequest::ERequestAction method, Injector *body_injector, LLHTTPClient::ResponderPtr responder, const LLSD &headers, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS)
static void request (const std::string &url, LLURLRequest::ERequestAction method, Injector *body_injector, LLHTTPClient::ResponderPtr responder, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS)
void boost::intrusive_ptr_add_ref (LLHTTPClient::Responder *p)
void boost::intrusive_ptr_release (LLHTTPClient::Responder *p)

Variables

const F32 HTTP_REQUEST_EXPIRY_SECS = 60.0f
static std::string gCABundle
LLHTTPClient::ResponderPtr mResponder
U32 mStatus
std::string mReason
const LLSD mSD
const U8mData
S32 mSize
const std::string mFilename
const LLUUID mUUID
LLAssetType::EType mAssetType
LLPumpIOtheClientPump = NULL


Detailed Description

Implementation of classes for making HTTP requests.

LicenseInfo
firstyear=2006&license=viewergpl

Copyright (c) 2006-2007, Linden Research, Inc.

Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlife.com/developers/opensource/gplv2

There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlife.com/developers/opensource/flossexception

By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.

ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$

Definition in file llhttpclient.cpp.


Function Documentation

static void request ( const std::string &  url,
LLURLRequest::ERequestAction  method,
Injector *  body_injector,
LLHTTPClient::ResponderPtr  responder,
const F32  timeout = HTTP_REQUEST_EXPIRY_SECS 
) [static]

Definition at line 318 of file llhttpclient.cpp.

References request().

static void request ( const std::string &  url,
LLURLRequest::ERequestAction  method,
Injector *  body_injector,
LLHTTPClient::ResponderPtr  responder,
const LLSD headers,
const F32  timeout = HTTP_REQUEST_EXPIRY_SECS 
) [static]

Definition at line 253 of file llhttpclient.cpp.

References LLPumpIO::addChain(), LLURLRequest::addHeader(), LLSD::beginMap(), LLURLRequest::checkRootCertificate(), end, LLSD::endMap(), FALSE, gCABundle, gMessageSystem, LLHTTPClient::hasPump(), LLURLRequest::HTTP_POST, LLURLRequest::HTTP_PUT, LLSD::isMap(), llendl, llformat(), llinfos, LLMessageSystem::mPort, LLURLRequest::requestEncoding(), LLURLRequest::setCallback(), theClientPump, U32_MAX, and LLURLRequest::useProxy().

Referenced by LLHTTPAssetStorage::addRunningRequest(), LLUserAuth::authenticate(), LLHTTPClient::del(), LLHTTPClient::get(), LLXMLRPCTransaction::Impl::Impl(), LLHTTPClient::post(), LLHTTPClient::postFile(), process_generic_message(), LLFilterXMLRPCRequest2LLSD::process_impl(), LLFloaterRegionInfo::processEstateOwnerRequest(), tut::rpc_server_data::pump_loop(), LLHTTPClient::put(), LLHTTPAssetStorage::removeRunningRequest(), request(), and LLSelectMgr::sendGodlikeRequest().


Variable Documentation

std::string gCABundle [static]

Definition at line 49 of file llhttpclient.cpp.

Referenced by request(), and LLHTTPClient::setCABundle().

const F32 HTTP_REQUEST_EXPIRY_SECS = 60.0f

These classes represent the HTTP client framework.

Definition at line 48 of file llhttpclient.cpp.

LLAssetType::EType mAssetType

Definition at line 246 of file llhttpclient.cpp.

const U8* mData

Definition at line 189 of file llhttpclient.cpp.

const std::string mFilename

Definition at line 219 of file llhttpclient.cpp.

std::string mReason

Definition at line 143 of file llhttpclient.cpp.

LLHTTPClient::ResponderPtr mResponder

Definition at line 141 of file llhttpclient.cpp.

const LLSD mSD

Definition at line 169 of file llhttpclient.cpp.

S32 mSize

Definition at line 190 of file llhttpclient.cpp.

Referenced by LLTextureFetchWorker::processSimulatorPackets(), LLTextureCache::purgeTextures(), and LLTextureCache::readHeaderCache().

U32 mStatus

Definition at line 142 of file llhttpclient.cpp.

const LLUUID mUUID

Definition at line 245 of file llhttpclient.cpp.

LLPumpIO* theClientPump = NULL [static]

Definition at line 250 of file llhttpclient.cpp.

Referenced by LLHTTPClient::hasPump(), request(), and LLHTTPClient::setPump().


Generated on Thu Jul 1 06:10:28 2010 for Second Life Viewer by  doxygen 1.4.7