SplitHTTPConfig.fromJson constructor

SplitHTTPConfig.fromJson(
  1. Object? json
)

Implementation

factory SplitHTTPConfig.fromJson(Object? json) {
  final map = asJsonMap(json, 'splithttp settings');
  return SplitHTTPConfig(
    host: map['host'] as String?,
    path: map['path'] as String?,
    mode: map['mode'] == null ? null : SplitHTTPMode.fromJson(map['mode']),
    headers: (map['headers'] as Map?)?.cast<String, String>(),
    xPaddingBytes: map['xPaddingBytes'] == null
        ? null
        : XrayInt32Range.fromJson(map['xPaddingBytes']),
    xPaddingObfsMode: map['xPaddingObfsMode'] as bool?,
    xPaddingKey: map['xPaddingKey'] as String?,
    xPaddingHeader: map['xPaddingHeader'] as String?,
    xPaddingPlacement: map['xPaddingPlacement'] == null
        ? null
        : SplitHTTPPlacement.fromJson(map['xPaddingPlacement']),
    xPaddingMethod: map['xPaddingMethod'] == null
        ? null
        : SplitHTTPPaddingMethod.fromJson(map['xPaddingMethod']),
    uplinkHTTPMethod: map['uplinkHTTPMethod'] as String?,
    sessionPlacement: map['sessionPlacement'] == null
        ? null
        : SplitHTTPPlacement.fromJson(map['sessionPlacement']),
    sessionKey: map['sessionKey'] as String?,
    seqPlacement: map['seqPlacement'] == null
        ? null
        : SplitHTTPPlacement.fromJson(map['seqPlacement']),
    seqKey: map['seqKey'] as String?,
    uplinkDataPlacement: map['uplinkDataPlacement'] == null
        ? null
        : SplitHTTPPlacement.fromJson(map['uplinkDataPlacement']),
    uplinkDataKey: map['uplinkDataKey'] as String?,
    uplinkChunkSize: map['uplinkChunkSize'] == null
        ? null
        : XrayInt32Range.fromJson(map['uplinkChunkSize']),
    noGRPCHeader: map['noGRPCHeader'] as bool?,
    noSSEHeader: map['noSSEHeader'] as bool?,
    scMaxEachPostBytes: map['scMaxEachPostBytes'] == null
        ? null
        : XrayInt32Range.fromJson(map['scMaxEachPostBytes']),
    scMinPostsIntervalMs: map['scMinPostsIntervalMs'] == null
        ? null
        : XrayInt32Range.fromJson(map['scMinPostsIntervalMs']),
    scMaxBufferedPosts: map['scMaxBufferedPosts'] as int?,
    scStreamUpServerSecs: map['scStreamUpServerSecs'] == null
        ? null
        : XrayInt32Range.fromJson(map['scStreamUpServerSecs']),
    serverMaxHeaderBytes: map['serverMaxHeaderBytes'] as int?,
    xmux: map['xmux'] == null ? null : XmuxConfig.fromJson(map['xmux']),
    downloadSettings: map['downloadSettings'] == null
        ? null
        : StreamConfig.fromJson(map['downloadSettings']),
    extra: map['extra'] == null ? null : asJsonMap(map['extra'], 'extra'),
  );
}