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<String>>? header, Map<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
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