Symbian platform (C++)
SDK native APIs, runtime and tooling
Loading...
Searching...
No Matches
http2.h
Go to the documentation of this file.
1// Copyright 2026 The Symbian SDK Authors.
2// Licensed under the Apache License, Version 2.0.
3#ifndef SYMBIAN_HTTP_HTTP2_H_
4#define SYMBIAN_HTTP_HTTP2_H_
5#include <memory>
6
7#include "absl/status/statusor.h"
9
10namespace symbian::http {
21class Http2 {
22 public:
23 static absl::StatusOr<std::unique_ptr<Http2>> Create(Role role,
24 Limits limits = {});
26 absl::Status Feed(std::string_view bytes);
27 absl::StatusOr<std::string> TakeOutput();
28 absl::Status SendRequest(RequestHead head);
29 absl::Status SendHeaders(ResponseHead head);
30 absl::Status Write(std::string_view bytes);
31 absl::Status Finish();
32 absl::StatusOr<std::optional<std::string>> Read();
33 bool headers_received() const;
34 bool ended() const;
35 bool peer_settings_received() const;
36 bool peer_connect_enabled() const;
37 const RequestHead& request() const;
38 const ResponseHead& response() const;
39 const Headers& trailers() const;
40 std::size_t buffered_amount() const;
41 void Abort();
42
43 private:
44 struct State;
45 explicit Http2(std::unique_ptr<State> state);
46 std::unique_ptr<State> state_;
47};
48} // namespace symbian::http
49#endif
Bounded, I/O-free single-exchange nghttp2 connection.
Definition http2.h:21
void Abort()
Definition http2.cc:484
absl::Status Finish()
Definition http2.cc:418
std::size_t buffered_amount() const
Definition http2.cc:480
absl::Status SendRequest(RequestHead head)
Definition http2.cc:329
absl::StatusOr< std::string > TakeOutput()
Definition http2.cc:301
absl::Status Feed(std::string_view bytes)
Definition http2.cc:285
const RequestHead & request() const
Definition http2.cc:468
absl::Status Write(std::string_view bytes)
Definition http2.cc:397
bool ended() const
Definition http2.cc:454
const ResponseHead & response() const
Definition http2.cc:472
bool peer_settings_received() const
Definition http2.cc:458
absl::Status SendHeaders(ResponseHead head)
Definition http2.cc:367
static absl::StatusOr< std::unique_ptr< Http2 > > Create(Role role, Limits limits={})
Definition http2.cc:221
bool peer_connect_enabled() const
Definition http2.cc:462
const Headers & trailers() const
Definition http2.cc:476
absl::StatusOr< std::optional< std::string > > Read()
Definition http2.cc:431
bool headers_received() const
Definition http2.cc:450
Definition connection.cc:8
std::vector< std::pair< std::string, std::string > > Headers
Definition types.h:15
Role
Definition types.h:16
std::string_view bytes
Definition exports.cc:74
Definition http2.cc:29
Definition types.h:32
Definition types.h:18
Definition types.h:27