Legacy:LibHTTP/HttpCache - Unreal Wiki

# Legacy:LibHTTP/HttpCache

### From Unreal Wiki, The Unreal Engine Documentation Site

< Legacy:LibHTTP
UT2004 :: Object >> Actor >> Info >> HttpCache

Disk\Memory cache for LibHTTP, it will handle caching of data. To use it simply create a HttpCache object and use it's get() request to get updated documents. Don't use a HttpSock instance for this.

When using this class it will perform a specially constructed get request when it's needed, it will try to satisfy the caching headers returned by the server. Ihis class is only usefull if you know the remote server returns correct cachable data. By default most dynamic pages (ASP, PHP, Perl, CGI) will return non-cachable pages.

## Properties

array<CacheInfoRecord> CacheList
  cache list, each entry is an URL

array<HttpCacheObject> CacheObjectList
  the spawned cache objects

class<HttpCacheObject> HttpCacheObjectClass

class<HttpSock> HttpSockClass

array<CacheRequest> Requests
  running requests

### Options

int iCacheLimit
  maximum cache size (entries?)

## Enums

### ECacheFailError

Reasons for a failure

CF_None
CF_BadRequest
CF_AuthRequired
CF_Timeout
CF_ResolveFailed
CF_Busy
CF_Unknown

### EDataOrigin

Hints where the data came from

DO_Unknown
DO_Cache
DO_Initial
DO_Refresh

## Structures

### CacheInfoRecord

records of the cached entries

int colidx
  index in the CacheObjectList, volatile

int DataSize
  last datazie

int Hash
  hash used for record info

int LastUpdate
  last update

HttpUtil.xURL URL
  the request URL

### CacheRequest

int idx
HttpSock Socket

## Delegates

OnComplete(HttpCache Sender, HttpCacheObject Data, EDataOrigin origin )
  Will be called when the operation was completed successfully.

int OnCreateSock(HttpCache Sender, HttpSock Socket )
  Will be called after the HttpSock instance has been created. Use it to set certain variables and delegates for the HttpSock.
  Note: You shouldn't set any delegates in the sccket, most will be overwritten anyway.

OnError(HttpCache Sender, string ErrorMessage, optional string Param1, optional string Param2 )
  Will be called in case of an internal error.

OnFail(HttpCache Sender, int idx, ECacheFailError reason )
  failed to complete the request, will be called when everything fails

## Functions

CacheCleanup( )
  Clean up the cache

int createHash(string URL )
  return the hash of the URL

DownloadComplete(HttpSock Sender )
DownloadError(HttpSock Sender, string ErrorMessage, optional string Param1, optional string Param2 )
DownloadTimeout(HttpSock Sender )
int findCacheRecord(int hash )
  find an idx using a hash

int get(string location )
  Performs a get request. Returns the ID of the request. This Id can be used in to retrieve the URL in the future

HttpCacheObject getCacheObject(int idx )
  get\create a CacheObject

bool getURLbyId(int id, out string URL )
  Returns the URL for a certain ID. Result will be false when the ID is no longer valid.

bool isCached(string location )
  Returns true when the location is cached

ResolveFailed(HttpSock Sender, string hostname )

## Events

PreBeginPlay( )

Category: Legacy Custom Class (UT2004)

##### Views

- Legacy
- Discussion
- Current revision

##### Search