fix: invoke.go — forward Content-Length to proxied request (form POST fix)

Without ContentLength, Python BaseHTTPRequestHandler read 0 bytes from body.
operator v0.1.37, python runtime v0.1.4, pg-table-writer HTML form
This commit is contained in:
Naeel
2026-03-19 08:58:35 +03:00
parent 2c194f6a7f
commit d286d92a05
9 changed files with 213 additions and 39 deletions
+37 -5
View File
@@ -126,13 +126,14 @@ resource "sless_trigger" "pg_info_http" {
enabled = true
}
# HTTP-функция читает строки из terraform_demo_table и возвращает JSON.
# Использует те же credentials что и sql-runner.
# Доступна по URL: https://sless.kube5s.ru/fn/<namespace>/pg-table-reader
# HTTP-функции чтения и записи строк terraform_demo_table — в одном файле table_rw.py.
# list_rows (GET) — читает все строки; add_row (POST {title}) — вставляет строку.
# Доступны по URL: https://sless.kube5s.ru/fn/<namespace>/pg-table-reader
# https://sless.kube5s.ru/fn/<namespace>/pg-table-writer
resource "sless_function" "postgres_table_reader" {
name = "pg-table-reader"
runtime = "python3.11"
entrypoint = "table_reader.list_rows"
entrypoint = "table_rw.list_rows"
memory_mb = 128
timeout_sec = 30
@@ -145,7 +146,7 @@ resource "sless_function" "postgres_table_reader" {
PGSSLMODE = "require"
}
source_dir = "${path.module}/code/table-reader"
source_dir = "${path.module}/code/table-rw"
depends_on = [sless_job.postgres_table_init_job]
}
@@ -161,4 +162,35 @@ output "table_reader_url" {
value = sless_trigger.postgres_table_reader_http.url
}
resource "sless_function" "postgres_table_writer" {
name = "pg-table-writer"
runtime = "python3.11"
entrypoint = "table_rw.add_row"
memory_mb = 128
timeout_sec = 30
env_vars = {
PGHOST = local.pg_host
PGPORT = "5432"
PGDATABASE = local.pg_database
PGUSER = local.pg_username
PGPASSWORD = local.pg_password
PGSSLMODE = "require"
}
source_dir = "${path.module}/code/table-rw"
depends_on = [sless_job.postgres_table_init_job]
}
resource "sless_trigger" "postgres_table_writer_http" {
name = "pg-table-writer-http"
type = "http"
function = sless_function.postgres_table_writer.name
enabled = true
}
output "table_writer_url" {
value = sless_trigger.postgres_table_writer_http.url
}