Hi Looking inside the HTTP client source code, then it looks like its not possible.
org/apache/httpcomponents/client5/httpclient5/5.4.4/httpclient5-5.4.4-sources.jar!/org/apache/hc/client5/http/impl/async/AsyncRedirectExec.java:149 There it detects that its a 301/302 and if its a POST then change that to a GET And there is no way to influence this, with a custom RedirectStrategy implementation. So I think your best way is to ask the HTTP client project to see if they can improve this, and maybe have a some API or new option you can set to control this. On Sat, Aug 23, 2025 at 8:15 AM Claus Ibsen <claus.ib...@gmail.com> wrote: > Hi > > Ah okay yeah that is a special case. But it's not really a bug in Camel as > you mention it should be using 308 instead. > Yeah I think not many humans know about this and systems may be hardcoded > to use 301. > > So if anything then its something in HTTP client that should have some > option to "overrule" this 301 and treat it as a 308. > > > > On Wed, Aug 20, 2025 at 9:33 PM Chirag <chirag.sangh...@gmail.com> wrote: > >> it is v2: >> rest("/v2/swapi-graphql/all-films").get() >> .produces("application/json") >> .to("direct:swapi-graphql-all-films2"); >> from("direct:swapi-graphql-all-films2") >> .setBody(constant("{ allFilms { films { title director releaseDate } } >> }")) >> .to("graphql://https://swapi-graphql.netlify.app/.netlify/functions/index >> ") >> .convertBodyTo(String.class); >> The reason for the failure is interesting: >> 1. GraphQL component constructs POST and invokes HTTP >> 2. netlify's index URL returns 301 with /graphql - and that forces POST >> to >> be changed to GET by underlying http client. >> >> looking at HTTP spec - it should have been 308 >> https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/308 - >> but haven't seen 308 adopted widely. >> >> ચિરાગ/चिराग/Chirag >> ------------------------------------------ >> Sent from My Gmail Account >> >> >> On Wed, Aug 20, 2025 at 3:18 PM Claus Ibsen <claus.ib...@gmail.com> >> wrote: >> >> > Hi >> > >> > Can you tell if its v1 or v2 in that sample code that fails (due to a >> > redirect) >> > >> > On Tue, Aug 19, 2025 at 12:09 AM Chirag <w35ank...@mozmail.com.invalid> >> > wrote: >> > >> > > Picking up a thread from Linkedin Discussion >> > > >> > > >> > > >> > >> https://www.linkedin.com/posts/diego-giudici-2a4a82183_apache-camel-exec-component-to-be-used-to-activity-7361417086029520896-rX9S?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAADB-oBkocmID4JNAjX2CC91jH5a8sV5l4 >> > > >> > > here is route: >> > > >> https://gist.github.com/chiragsanghavi/b83ef5babc6d02b2757ae6a9cd100281 >> > > >> > > Technically this is not a bug, as site >> > > https://swapi-graphql.netlify.app/.netlify/functions/index leads to a >> > > direct, which shouldn't happen in real life. >> > > >> > > GraphGL component initiates request using a POST, but redirect is >> handled >> > > by Apache Common HTTP Client - and as GET - which is where the >> "query" is >> > > not passed to the redirected URL. >> > > >> > > what will be better way to handle it ? Should such scenario be >> handled by >> > > passing a custom http client that disables redirect and capture >> error? >> > > >> > > If GraphQL component was built using camel-http underneath - it could >> > > return many more values to make some decisions after exchange is >> called >> > . >> > > >> > >> > >> > -- >> > Claus Ibsen >> > >> > > > -- > Claus Ibsen > -- Claus Ibsen