guardrail-dev / guardrail-dev/guardrail

akka-http: 22 parameter limit on formData fields

Open
#546 0 comments 0 reactions 0 assignees View on GitHub
bug scala-akka-http
Dominant language
Scala
Stars
541
Forks
138
PR merge metrics
No merged PRs in 30d

Description

Turns out we still use tuples for form parameters:

```
too many elements for tuple: 27, allowed: 22
implicit val FormDataUnmarshaller: FromRequestUnmarshaller[Either[Throwable, (
Option[Decimal], Option[Decimal], Option[Decimal], Option[String], Option[String],
Option[String], Option[String], Option[Int], Option[String], Option[String],
Option[String], Option[Boolean], Option[String], Option[String], Option[String],
Option[String], Option[String], Option[Decimal], Option[String], Option[String],
Option[String], Option[String], Option[Int], Option[Decimal], Option[String],
Option[String], Option[String]
)]] =
implicitly[FromRequestUnmarshaller[FormData]]
.flatMap { implicit executionContext =>
Error:(93, 13) too many elements for tuple: 27, allowed: 22
```

Contributor guide

Open the contributing guide

Research direction

Start by locating the akka-http formData generation that produces the FormDataUnmarshaller and the 27-element tuple shown in the error. Check how generated form parameters are represented and compiled when more than 22 fields are present. Done means a formData model with over 22 fields no longer triggers the Scala tuple-limit error.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.