Skip to content

CefResponseFilter

Header: cef_response_filter.h
Category: Browser Handlers

Overview

User-implemented handler interfaces returned from CefClient and registered with CefBrowserHost.

CefResponseFilter

Source File: include/cef_response_filter.h

Process / Thread Context: Browser process / IO thread ("methods of this class will be called on the browser process IO thread"). USER-IMPLEMENTED (source=client); returned from CefResourceRequestHandler::GetResourceResponseFilter.

Purpose: Filter resource response content — a streaming byte-pipe that transforms the response body in flight.

Usage Example

cpp
class UpperCaseFilter : public CefResponseFilter {
 public:
  bool InitFilter() override { return true; }

  FilterStatus Filter(void* in_buf, size_t in_size, size_t& in_read,
                      void* out_buf, size_t out_size, size_t& out_written) override {
    auto* in = static_cast<unsigned char*>(in_buf);
    auto* out = static_cast<unsigned char*>(out_buf);
    size_t n = std::min(in_size, out_size);
    for (size_t i = 0; i < n; ++i) out[i] = std::toupper(in[i]);
    in_read = n;
    out_written = n;
    return RESPONSE_FILTER_DONE;
  }
  IMPLEMENT_REFCOUNTING(UpperCaseFilter);
};

// Returned from MyResourceRequestHandler::GetResourceResponseFilter(...)

Derived from the CEF C++ headers — © Marshall A. Greenblatt, Google Inc. & contributors (BSD-style license). Not an official CEF project.