mirror of
https://github.com/hanzoai/bot.git
synced 2026-10-30 17:24:26 +00:00
Complete rename of all OpenClaw/OPENCLAW/openclaw references to Hanzo Bot/BOT/bot naming convention: - Env vars: OPENCLAW_* → BOT_* (18 patterns) - Config: ~/.openclaw/ → ~/.bot/, openclaw.json → bot.json - Packages: @openclaw/* → @hanzo/bot-* - Domains: openclaw.ai → hanzo.bot - Mobile: OpenClawKit → BotKit, bundle IDs ai.openclaw → ai.hanzo.bot - mDNS: _openclaw-gw._tcp → _bot-gw._tcp - Docker: CMD hanzo-bot.mjs, BOT_PREFER_PNPM, BOT_DOCKER_APT_PACKAGES - CI: docker-release.yml adds :latest tag on main branch
29 lines
1008 B
Swift
29 lines
1008 B
Swift
import Foundation
|
|
|
|
extension FileHandle {
|
|
/// Reads until EOF using the throwing FileHandle API and returns empty `Data` on failure.
|
|
///
|
|
/// Important: Avoid legacy, non-throwing FileHandle read APIs (e.g. `readDataToEndOfFile()` and
|
|
/// `availableData`). They can raise Objective-C exceptions when the handle is closed/invalid, which
|
|
/// will abort the process.
|
|
func readToEndSafely() -> Data {
|
|
do {
|
|
return try self.readToEnd() ?? Data()
|
|
} catch {
|
|
return Data()
|
|
}
|
|
}
|
|
|
|
/// Reads up to `count` bytes using the throwing FileHandle API and returns empty `Data` on failure/EOF.
|
|
///
|
|
/// Important: Use this instead of `availableData` in callbacks like `readabilityHandler` to avoid
|
|
/// Objective-C exceptions terminating the process.
|
|
func readSafely(upToCount count: Int) -> Data {
|
|
do {
|
|
return try self.read(upToCount: count) ?? Data()
|
|
} catch {
|
|
return Data()
|
|
}
|
|
}
|
|
}
|