← Cloudflare Workers / workers / runtime-apis / rpc
Зарезервированные методы
Некоторые имена методов зарезервированы или имеют особую семантику.
Специальные методы
Для обратной совместимости при расширении 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):
dup: Это зарезервировано для дублирования заглушки. См. Жизненный цикл RPC документацию, чтобы узнать больше оdup().constructor: Это имя имеет особое значение для классов JavaScript. Оно не предназначено для вызова в качестве метода, поэтому недоступно через RPC.
Следующие методы запрещены только для WorkerEntrypoint и DurableObject, но разрешено на RpcTarget. Исторически эти методы имели особое значение для Durable Objects, где они используются для обработки определённых системных событий.
alarmwebSocketMessagewebSocketClosewebSocketError