INTEGRITY Документация

Зарезервированные методы

Некоторые имена методов зарезервированы или имеют особую семантику.

Специальные методы

Для обратной совместимости при расширении WorkerEntrypoint или DurableObject, следующие имена методов имеют особую семантику. Обратите внимание, что это не применяются к RpcTarget. На RpcTarget, эти методы работают так же, как и любой другой метод RPC.

fetch()

fetch() method is treated specially, it can only be used to handle an HTTP request, equivalent to the обработчик fetch.

Вы можете реализовать fetch() метод в вашем классе, который расширяет WorkerEntrypoint : но она должна принимать только один параметр типа Request, и должен возвращать экземпляр Response, или Promise одного.

На стороне клиента, fetch() вызванный для привязки сервиса или заглушки Durable Object работает так же, как стандартный глобальный fetch(). То есть вызывающий код может передать один или два параметра в fetch(). Если вызывающая сторона передаёт не просто один Request объект, затем новый Request создается неявно с передачей параметров в его конструктор, и именно этот запрос фактически отправляется на сервер.

Некоторые свойства Request управляют поведением fetch() на стороне клиента и фактически не отправляются на сервер. Например, свойство redirect: "auto" (что является значением по умолчанию) указывает fetch() что если сервер возвращает ответ с перенаправлением, оно должно быть выполнено автоматически, что приведет к HTTP-запросу в публичный интернет. Это поведение соответствует стандарту Fetch API. Короче говоря, fetch() не имеет семантики RPC, у него семантика Fetch API.

connect()

connect() метод объекта WorkerEntrypoint class is reserved for opening a socket-like connection to your Worker. This is currently not implemented or supported, though you can открыть TCP-сокет из Worker или подключаться напрямую к базам данных через TCP-сокет с помощью Hyperdrive.

Запрещённые имена методов

Следующие имена методов (или свойств) нельзя использовать в качестве RPC-методов для любого RPC-типа (включая WorkerEntrypoint, DurableObject, а также RpcTarget):

Следующие методы запрещены только для WorkerEntrypoint и DurableObject, но разрешено на RpcTarget. Исторически эти методы имели особое значение для Durable Objects, где они используются для обработки определённых системных событий.