int httpOpenCacheHandler(Http *http) { HttpStage *handler, *filter; /* Create the cache handler to serve cached content */ if ((handler = httpCreateHandler(http, "cacheHandler", HTTP_STAGE_ALL, NULL)) == 0) { return MPR_ERR_CANT_CREATE; } http->cacheHandler = handler; handler->match = matchCacheHandler; handler->ready = readyCacheHandler; /* Create the cache filter to capture and cache response content */ if ((filter = httpCreateFilter(http, "cacheFilter", HTTP_STAGE_ALL, NULL)) == 0) { return MPR_ERR_CANT_CREATE; } http->cacheFilter = filter; filter->match = matchCacheFilter; filter->outgoingService = outgoingCacheFilterService; return 0; }
PUBLIC int httpOpenRangeFilter() { HttpStage *filter; if ((filter = httpCreateFilter("rangeFilter", NULL)) == 0) { return MPR_ERR_CANT_CREATE; } HTTP->rangeFilter = filter; filter->match = matchRange; filter->start = startRange; filter->outgoingService = outgoingRangeService; return 0; }
PUBLIC int httpOpenUploadFilter() { HttpStage *filter; if ((filter = httpCreateFilter("uploadFilter", NULL)) == 0) { return MPR_ERR_CANT_CREATE; } HTTP->uploadFilter = filter; filter->match = matchUpload; filter->open = openUpload; filter->close = closeUpload; filter->incoming = incomingUpload; return 0; }