- Adaptive iPhone/iPad layout with NavigationSplitView sidebar - Auto-detect SSL-pinned domains, fall back to passthrough - Certificate install via local HTTP server (Safari profile flow) - App Group-backed CA, per-domain leaf cert LRU cache - DB-backed config repository, Darwin notification throttling - Rules engine, breakpoint rules, pinned domain tracking - os.Logger instrumentation across tunnel/proxy/mitm/capture/cert/rules/db/ipc/ui - Fix dyld framework embed, race conditions, thread safety
37 lines
1.0 KiB
Swift
37 lines
1.0 KiB
Swift
import SwiftUI
|
|
|
|
struct FullResponseView: View {
|
|
let statusCode: Int?
|
|
let responseBody: String
|
|
|
|
var body: some View {
|
|
ScrollView {
|
|
VStack(alignment: .leading, spacing: 16) {
|
|
if let status = statusCode {
|
|
HStack {
|
|
StatusBadge(statusCode: status)
|
|
Spacer()
|
|
}
|
|
}
|
|
|
|
Text(responseBody)
|
|
.font(.system(.caption, design: .monospaced))
|
|
.textSelection(.enabled)
|
|
.frame(maxWidth: .infinity, alignment: .leading)
|
|
}
|
|
.padding()
|
|
}
|
|
.navigationTitle("Full Response")
|
|
.navigationBarTitleDisplayMode(.inline)
|
|
.toolbar {
|
|
ToolbarItem(placement: .topBarTrailing) {
|
|
Button {
|
|
UIPasteboard.general.string = responseBody
|
|
} label: {
|
|
Image(systemName: "doc.on.doc")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|