blob: 7c7bd778a64c13c8d3211ba057c3ca7c4d6e76fa [file] [log] [blame]
#ifndef QUICHE_OBLIVIOUS_HTTP_COMMON_CHUNK_HANDLER_H_
#define QUICHE_OBLIVIOUS_HTTP_COMMON_CHUNK_HANDLER_H_
#include "absl/status/status.h"
#include "absl/strings/string_view.h"
#include "quiche/common/platform/api/quiche_export.h"
namespace quiche {
// Methods to be invoked upon decryption of request/response OHTTP chunks.
class QUICHE_EXPORT ObliviousHttpChunkHandler {
public:
virtual ~ObliviousHttpChunkHandler() = default;
// This method is invoked once a chunk of data has been decrypted. It returns
// a Status to allow the implementation to signal a potential error, such as a
// decoding issue with the decrypted data.
virtual absl::Status OnDecryptedChunk(absl::string_view decrypted_chunk) = 0;
// This method is invoked once all chunks have been decrypted. It returns
// a Status to allow the implementation to signal a potential error.
virtual absl::Status OnChunksDone() = 0;
};
} // namespace quiche
#endif // QUICHE_OBLIVIOUS_HTTP_COMMON_CHUNK_HANDLER_H_