Skip to content

Commit 0fbdec6

Browse files
committed
refactor: flatten Cloudflare lookup guards
Handle missing lookups and invalid references with guard clauses, as requested in the PR review. The full 59-test Cloudflare suite and Cloudflare type check pass. See #57
1 parent 3293548 commit 0fbdec6

1 file changed

Lines changed: 10 additions & 13 deletions

File tree

‎src/cloudflare/engine.ts‎

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -312,19 +312,16 @@ export class ActorEngine {
312312
}
313313

314314
private async readMessage(input: HostRequest): Promise<JsonValue> {
315-
let message: Message | undefined
316-
if (input.method === "lookup") {
317-
message = this.lookUp(input)
318-
if (!message) return this.prunedReply(input)
319-
} else {
320-
message = this.store.message(String(input.payload.id))
321-
if (
322-
!message ||
323-
message.requestId !== input.payload.requestId ||
324-
message.sequence !== input.payload.sequence
325-
)
326-
throw new Unauthorized("message reference is not authorized")
327-
}
315+
const lookup = input.method === "lookup"
316+
const message = lookup ? this.lookUp(input) : this.store.message(String(input.payload.id))
317+
if (lookup && !message) return this.prunedReply(input)
318+
if (
319+
!message ||
320+
(!lookup &&
321+
(message.requestId !== input.payload.requestId ||
322+
message.sequence !== input.payload.sequence))
323+
)
324+
throw new Unauthorized("message reference is not authorized")
328325
await this.authorizeOperation(input, message)
329326
this.bind(input)
330327
if (message.incarnation !== this.store.instance()?.incarnation)

0 commit comments

Comments
 (0)