WebRtcHttpMessage class
WebRtcHttpMessage: HTTP over WebRTC 消息协议
将 HTTP 语义封装到 WebRTC DataChannel 传输 合并了请求管理(request_id)和完整的 HTTP 协议语义
协议栈层次: Layer 3: WebRtcHttpMessage (本层) - HTTP over WebRTC Layer 2: ALocalSample (Protobuf) - 业务消息封装 Layer 1: RtcData - 传输协议
使用场景:
- 文件列表查询: GET /files/list?path=/home
- 文件上传: POST /files/upload
- 文件下载: GET /files/download?file=xxx
- 设备控制: POST /device/control
Constructors
-
WebRtcHttpMessage({int requestId = 0, String host = '', int port = 0, String apiUrl = '', int method = httpMethodGet, int status = 0, Map<
String, List< ? header, Map<String> >String, String> ? parameter, String body = ''}) -
WebRtcHttpMessage.fromJson(Map<
String, dynamic> json) -
factory
- WebRtcHttpMessage.fromJsonString(String jsonStr)
-
factory
Properties
- apiUrl ↔ String
-
getter/setter pair
- body ↔ String
-
getter/setter pair
- hashCode → int
-
The hash code for this object.
no setterinherited
-
header
↔ Map<
String, List< String> > -
getter/setter pair
- host ↔ String
-
getter/setter pair
- isDelete → bool
-
no setter
- isError → bool
-
no setter
- isGet → bool
-
no setter
- isPost → bool
-
no setter
- isPut → bool
-
no setter
- isRequest → bool
-
no setter
- isResponse → bool
-
no setter
- isSuccess → bool
-
no setter
- method ↔ int
-
getter/setter pair
- methodString → String
-
no setter
-
parameter
↔ Map<
String, String> -
getter/setter pair
- port ↔ int
-
getter/setter pair
- requestId ↔ int
-
getter/setter pair
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- status ↔ int
-
getter/setter pair
- url → String
-
动态生成完整 URL
no setter
Methods
-
addHeader(
String key, String value) → void - 添加单个 header 值
-
addHeaders(
String key, List< String> values) → void - 添加多个相同 key 的 header 值
-
addParameter(
String key, String value) → void -
getHeaderValue(
String key, [String defaultValue = '']) → String - 获取某个 key 的第一个值
-
getHeaderValues(
String key) → List< String> - 获取某个 key 的所有值
-
getParameterValue(
String key, [String defaultValue = '']) → String -
hasHeader(
String key) → bool - 检查是否有某个 header
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
setHeaderValue(
String key, String value) → void - 设置单个 header 值(替换现有值)
-
toJson(
) → Map< String, dynamic> -
toJsonString(
) → String -
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
createErrorResponse(
int requestId, String apiUrl, int statusCode, String errorMsg) → WebRtcHttpMessage - 创建错误响应
-
createGetRequest(
String host, int port, String apiUrl) → WebRtcHttpMessage - 创建 GET 请求
-
createPostRequest(
String host, int port, String apiUrl, String body) → WebRtcHttpMessage - 创建 POST 请求
-
createSuccessResponse(
int requestId, String apiUrl, String body) → WebRtcHttpMessage - 创建成功响应
-
generateRequestId(
) → int - 生成自增的请求 ID
-
newBuilder(
) → WebRtcHttpMessageBuilder
Constants
- httpMethodDelete → const int
- httpMethodGet → const int
- httpMethodPatch → const int
- httpMethodPost → const int
- httpMethodPut → const int