mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-08-20 19:33:08 +09:00
30 lines
1.2 KiB
Swift
30 lines
1.2 KiB
Swift
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
import Foundation
|
|
import WebKit
|
|
import GCDWebServers
|
|
import Shared
|
|
|
|
/// Handles requests to /about/sessionrestore to restore session history.
|
|
struct SessionRestoreHandler {
|
|
static func register(_ webServer: WebServer) {
|
|
// Register the handler that accepts /about/sessionrestore?history=...¤tpage=... requests.
|
|
webServer.registerHandlerForMethod("GET", module: "about", resource: "sessionrestore") { _ in
|
|
if let sessionRestorePath = Bundle.main.path(forResource: "SessionRestore", ofType: "html") {
|
|
do {
|
|
let sessionRestoreString = try String(contentsOfFile: sessionRestorePath)
|
|
|
|
defer {
|
|
NotificationCenter.default.post(name: NotificationDidRestoreSession, object: self)
|
|
}
|
|
|
|
return GCDWebServerDataResponse(html: sessionRestoreString)
|
|
} catch _ {}
|
|
}
|
|
|
|
return GCDWebServerResponse(statusCode: 404)
|
|
}
|
|
}
|
|
}
|