28 lines
1.2 KiB
Go
28 lines
1.2 KiB
Go
package runtime
|
|
|
|
// DefaultEntrypoint возвращает точку входа по умолчанию для языка lang.
|
|
//
|
|
// Формат entrypoint зависит от среды выполнения Fission:
|
|
// - python: "module.function" → Fission импортирует модуль и вызывает функцию
|
|
// - nodejs: "main" → имя экспортированной default-функции в main.js
|
|
// - php: "main.php::handler" → имя файла + "::" + имя функции
|
|
// - ruby: "handler" → имя метода в загруженном файле
|
|
// - go: "Handler" → экспортированная Go-функция (с большой буквы)
|
|
func DefaultEntrypoint(lang string) string {
|
|
switch lang {
|
|
case "nodejs":
|
|
return "main"
|
|
case "php":
|
|
// Fission php-env: filename::functionName
|
|
return "main.php::handler"
|
|
case "ruby":
|
|
return "handler"
|
|
case "go":
|
|
// Go: экспортированная функция (заглавная) — go/plugin требует экспорт
|
|
return "Handler"
|
|
default:
|
|
// python и неизвестные языки: "main.main" = модуль main, функция main
|
|
return "main.main"
|
|
}
|
|
}
|