private int process_request(cef_resource_handler_t *self, cef_request_t *request, cef_callback_t *callback)
        {
            CheckSelf(self);

            var m_request  = CefRequest.FromNative(request);
            var m_callback = CefCallback.FromNative(callback);

            var result = ProcessRequest(m_request, m_callback);

            return(result ? 1 : 0);
        }
        private int read_response(cef_resource_handler_t *self, void *data_out, int bytes_to_read, int *bytes_read, cef_callback_t *callback)
        {
            CheckSelf(self);

            var m_callback = CefCallback.FromNative(callback);

            using (var m_stream = new UnmanagedMemoryStream((byte *)data_out, bytes_to_read, bytes_to_read, FileAccess.Write))
            {
                int m_bytesRead;
                var result     = ReadResponse(m_stream, bytes_to_read, out m_bytesRead, m_callback);
                *   bytes_read = m_bytesRead;
                return(result ? 1 : 0);
            }
        }