Skip to main content
Glama
ScreenDiffHandler.swift1.2 kB
import Foundation import XCTest import CryptoKit import FlyingFox import os @MainActor struct IsScreenStaticHandler: HTTPHandler { private let logger = Logger( subsystem: Bundle.main.bundleIdentifier!, category: String(describing: Self.self) ) func handleRequest(_ request: FlyingFox.HTTPRequest) async throws -> FlyingFox.HTTPResponse { do { let screenshot1 = XCUIScreen.main.screenshot() let screenshot2 = XCUIScreen.main.screenshot() let hash1 = SHA256.hash(data: screenshot1.pngRepresentation) let hash2 = SHA256.hash(data: screenshot2.pngRepresentation) let isScreenStatic = hash1 == hash2 let response = ["isScreenStatic" : isScreenStatic] let responseData = try JSONSerialization.data( withJSONObject: response, options: .prettyPrinted ) return HTTPResponse(statusCode: .ok, body: responseData) } catch let error { return AppError(message: "Detecting screen static request failed. Error \(error.localizedDescription)").httpResponse } } }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mobile-dev-inc/Maestro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server