You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Siano, Stephan" <st...@sap.com> on 2016/10/07 11:21:51 UTC

[DISCUSS] HTTP session handling in Camel routes

Hi,

is there some kind of holistic concept for HTTP session handling (for HTTP based producer endpoints) in Camel?

I managed to find basic HTTP session handling in the following camel component:

-          The  camel-http4 component allows injecting a org.apache.http.client.CookieStore to the endpoint

-          CXF allows to configure session handling on conduits. I would guess that this can somehow also be leveraged by camel-cxf producer endpoints

This means that the session handling can somehow be configured on CamelContext Route or Endpoint level (but only for these two component, not e.g. for camel-ahc and other HTTP based endpoints (I may have overlooked some)).

Let us now assume the following scenario: In a camel route you want to do some calls to a stateful service. You do a login call, then some calls that query and change data, and in the end you do a logout. With the current camel-http4 capabilities it looks as if you could implement this on the first glance. However as the CookieStore is configured on the level of an endpoint (but multiple endpoints may share the same CookieStore), different parallel invocations of the route will share the same HTTP session (which will likely cause issues under load).

This behavior is different from e.g. the camel-jms or camel-jdbc components, which allow to configure transaction managers to have a shared database or JMS transaction. These transactions are bound to the Exchange.

Do you think it would make sense to start a conceptual discussion about HTTP sessions, or is this topic too remote to be interesting for the camel community?

Best regards
Stephan

Re: [DISCUSS] HTTP session handling in Camel routes

Posted by Claus Ibsen <cl...@gmail.com>.
For javadoc you can find them all at

http://www.javadoc.io/doc/

such as

http://www.javadoc.io/doc/org.apache.camel/camel-http-common/2.18.0



On Thu, Oct 20, 2016 at 8:59 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi,
>
> The JIRA task is https://issues.apache.org/jira/browse/CAMEL-10392 . I have just committed the change to the master branch. However, I have some questions about the documentation.
> The change contains changes to the adoc files contained within the component. Does that mean that the component documentation on the website is auto-generated at some point in time or do I still have to change the Wiki?
>
> The CookieHandler interface and the two implementations for it are in camel-http-common. They contain Javadoc, but the Javadoc for camel-http-common is not on the website, so that is somewhat of limited use. What would you propose how to document the overall feature?
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Siano, Stephan [mailto:stephan.siano@sap.com]
> Sent: Montag, 17. Oktober 2016 13:09
> To: dev@camel.apache.org
> Subject: RE: [DISCUSS] HTTP session handling in Camel routes
>
> Hi Claus,
>
> OK, I will create a JIRA task for it and start working. As these are seven components to extend (and test), it might take a little time...
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ibsen@gmail.com]
> Sent: Montag, 17. Oktober 2016 12:28
> To: dev <de...@camel.apache.org>
> Subject: Re: [DISCUSS] HTTP session handling in Camel routes
>
> Hi
>
> Yeah that would work. The only downside is that camel-http-common has
> a dependency on the servlet API which not all the HTTP components are
> using. However its just one extra JAR on the classpath.
>
>
> On Mon, Oct 17, 2016 at 10:58 AM, Siano, Stephan <st...@sap.com> wrote:
>> Hi Claus,
>>
>> Having the interface (and implementations) in camel-http-common makes sense to me. This means that all the components below would have a dependency to camel-http-common. Does this make sense?
>>
>> I would implement the support for cookies in the producer endpoints for
>> camel-ahc
>> camel-cxf
>> camel-jetty
>> camel-http4
>> camel-netty4-http
>> camel-restlet
>> camel-undertow
>>
>> camel-spark-rest does not support producer endpoints
>> I don't actually understand how camel-spring-ws handles HTTP protocol headers, so I would like to leave the session handling support in there for someone else (who does understand that component better than me). Anyway the change will be big enough as it is touching so many components (and especially the tests for this are probably different for all these components).
>>
>> Is this a way to go?
>>
>> Best regards
>> Stephan
>>
>> -----Original Message-----
>> From: Claus Ibsen [mailto:claus.ibsen@gmail.com]
>> Sent: Montag, 17. Oktober 2016 10:08
>> To: dev <de...@camel.apache.org>
>> Subject: Re: [DISCUSS] HTTP session handling in Camel routes
>>
>> Hi
>>
>> I dont think cookie belongs in camel-core, and a better place is
>> likely something like camel-http-common.
>>
>> And there are other http client components such as camel-nett4-http,
>> camel-jetty, camel-undertow as well. And then for REST based there is
>> camel-restlet and maybe camel-spark-rest.
>> And for WS there is also camel-spring-ws.
>>
>> So if anything like cookie is attempted to be something that is a
>> cross functionality in http components then you would need to
>> implement this in more of them, and not only a limited set.
>>
>>
>>
>>
>> On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
>>> Hi,
>>>
>>> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>>>
>>> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>>>
>>> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>>>
>>> Questions:
>>> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
>>> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
>>> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>>>
>>> Best regards
>>> Stephan
>>
>>
>>
>> --
>> Claus Ibsen
>> -----------------
>> http://davsclaus.com @davsclaus
>> Camel in Action 2: https://www.manning.com/ibsen2
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Re: [DISCUSS] HTTP session handling in Camel routes

Posted by Andrea Cosentino <an...@yahoo.com.INVALID>.
I usually test the result only by looking at the gitbook site.

The adocs files are the files your are supposed to preview anyway.
 --
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Friday, October 21, 2016 9:14 AM, "Siano, Stephan" <st...@sap.com> wrote:
Hi Andrea,

I already tried this. Is there any special trick about the result?

The build copies some files into the node and node_modules folders and copies a lot of stuff to target/docs/user-manual  (all adoc files plus the images). Furthermore it creates a /target/classes/user-manual folder and a camel-website.jar with an index.html file saying:
"If you are seeing this message, it is because the User Manual was not built during the Apache Camel build.  To build Apache Camel User Manual you must use the maven release profile: mvn clean install -Prelease."

If I try the release profile the build fails, because I do not have gpg installed.

Are the adocs the files I am supposed to preview or is there another way to build HTML out of it?

Best regards
Stephan


-----Original Message-----
From: Andrea Cosentino [mailto:ancosen1985@yahoo.com] 
Sent: Freitag, 21. Oktober 2016 08:55
To: Siano, Stephan <st...@sap.com>; dev@camel.apache.org
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hello Stephan,

To preview the docs and all the links just run mvn clean install into camel-website folder.

You'll have the Gitbook site running locally :-)
--
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Friday, October 21, 2016 8:11 AM, "Siano, Stephan" <st...@sap.com> wrote:
Hi Andrea,

Thanks for the clarification. One more question:

What is the recommended way to preview the asciidoc (esepecially the links)?

Best regards
Stephan


-----Original Message-----
From: Andrea Cosentino [mailto:ancosen1985@yahoo.com] 
Sent: Donnerstag, 20. Oktober 2016 14:52
To: Siano, Stephan <st...@sap.com>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hello Stephan,

The idea is to have different docs for each version like Artemis: 

https://activemq.apache.org/artemis/docs.html

So the different versions won't exist anymore in the same documentation.

This way the situation will become a bit more clear.

For the Http Session docs, usually we put everything at architecture level here:

https://github.com/apache/camel/tree/master/docs/user-manual/en

Then you can add the link in the SUMMARY Asciidoc page.

Thanks! 
--
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Thursday, October 20, 2016 2:30 PM, "Siano, Stephan" <st...@sap.com> wrote:
Hi Andrea,

Thanks for adding the Karaf features  (I actually forgot about that).

I will also add the parameter to the confluence documentation for the component (as this is a 2.19.0 feature I guess it will not be that urgent to do that). BTW. How is the version information maintained in future? In the confluence there are "since 2.19.0" statements in the description for parameters that were introduced with later versions. Is this done automatically, or do we leave that out?

You propose to add a HTTP session handling page to the confluence and the asciidoc. As this does not apply to a single component, I might add a page under "Architecture" in confluence. What is the equivalent for that in the asciidoc?

Best regards
Stephan


-----Original Message-----
From: Andrea Cosentino [mailto:ancosen1985@yahoo.com.INVALID] 
Sent: Donnerstag, 20. Oktober 2016 09:58
To: dev@camel.apache.org
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi Stephan,

For the moment we are trying to maintain docs on both side. So you can create a page about Http Session handling on confluence and (if you have time) aligning the options.

In future we will leave confluence and will create a new site with automatic generated docs from sources. I suggest to add Http Session asciidoc page also in the Camel repository.

I aligned the Karaf features related to your commit on CAMEL-10392.

Great work!

Thanks,
--
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Thursday, October 20, 2016 9:09 AM, "Siano, Stephan" <st...@sap.com> wrote:
Hi,

The JIRA task is https://issues.apache.org/jira/browse/CAMEL-10392 . I have just committed the change to the master branch. However, I have some questions about the documentation.
The change contains changes to the adoc files contained within the component. Does that mean that the component documentation on the website is auto-generated at some point in time or do I still have to change the Wiki?

The CookieHandler interface and the two implementations for it are in camel-http-common. They contain Javadoc, but the Javadoc for camel-http-common is not on the website, so that is somewhat of limited use. What would you propose how to document the overall feature?

Best regards
Stephan


-----Original Message-----
From: Siano, Stephan [mailto:stephan.siano@sap.com] 
Sent: Montag, 17. Oktober 2016 13:09
To: dev@camel.apache.org
Subject: RE: [DISCUSS] HTTP session handling in Camel routes

Hi Claus,

OK, I will create a JIRA task for it and start working. As these are seven components to extend (and test), it might take a little time...

Best regards
Stephan

-----Original Message-----
From: Claus Ibsen [mailto:claus.ibsen@gmail.com] 
Sent: Montag, 17. Oktober 2016 12:28
To: dev <de...@camel.apache.org>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi

Yeah that would work. The only downside is that camel-http-common has
a dependency on the servlet API which not all the HTTP components are
using. However its just one extra JAR on the classpath.


On Mon, Oct 17, 2016 at 10:58 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi Claus,
>
> Having the interface (and implementations) in camel-http-common makes sense to me. This means that all the components below would have a dependency to camel-http-common. Does this make sense?
>
> I would implement the support for cookies in the producer endpoints for
> camel-ahc
> camel-cxf
> camel-jetty
> camel-http4
> camel-netty4-http
> camel-restlet
> camel-undertow
>
> camel-spark-rest does not support producer endpoints
> I don't actually understand how camel-spring-ws handles HTTP protocol headers, so I would like to leave the session handling support in there for someone else (who does understand that component better than me). Anyway the change will be big enough as it is touching so many components (and especially the tests for this are probably different for all these components).
>
> Is this a way to go?
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ibsen@gmail.com]
> Sent: Montag, 17. Oktober 2016 10:08
> To: dev <de...@camel.apache.org>
> Subject: Re: [DISCUSS] HTTP session handling in Camel routes
>
> Hi
>
> I dont think cookie belongs in camel-core, and a better place is
> likely something like camel-http-common.
>
> And there are other http client components such as camel-nett4-http,
> camel-jetty, camel-undertow as well. And then for REST based there is
> camel-restlet and maybe camel-spark-rest.
> And for WS there is also camel-spring-ws.
>
> So if anything like cookie is attempted to be something that is a
> cross functionality in http components then you would need to
> implement this in more of them, and not only a limited set.
>
>
>
>
> On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
>> Hi,
>>
>> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>>
>> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>>
>> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>>
>> Questions:
>> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
>> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
>> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>>
>> Best regards
>> Stephan
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

RE: [DISCUSS] HTTP session handling in Camel routes

Posted by "Siano, Stephan" <st...@sap.com>.
Hi Andrea,

I already tried this. Is there any special trick about the result?

The build copies some files into the node and node_modules folders and copies a lot of stuff to target/docs/user-manual  (all adoc files plus the images). Furthermore it creates a /target/classes/user-manual folder and a camel-website.jar with an index.html file saying:
"If you are seeing this message, it is because the User Manual was not built during the Apache Camel build.  To build Apache Camel User Manual you must use the maven release profile: mvn clean install -Prelease."

If I try the release profile the build fails, because I do not have gpg installed.

Are the adocs the files I am supposed to preview or is there another way to build HTML out of it?

Best regards
Stephan

-----Original Message-----
From: Andrea Cosentino [mailto:ancosen1985@yahoo.com] 
Sent: Freitag, 21. Oktober 2016 08:55
To: Siano, Stephan <st...@sap.com>; dev@camel.apache.org
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hello Stephan,

To preview the docs and all the links just run mvn clean install into camel-website folder.

You'll have the Gitbook site running locally :-)
 --
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Friday, October 21, 2016 8:11 AM, "Siano, Stephan" <st...@sap.com> wrote:
Hi Andrea,

Thanks for the clarification. One more question:

What is the recommended way to preview the asciidoc (esepecially the links)?

Best regards
Stephan


-----Original Message-----
From: Andrea Cosentino [mailto:ancosen1985@yahoo.com] 
Sent: Donnerstag, 20. Oktober 2016 14:52
To: Siano, Stephan <st...@sap.com>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hello Stephan,

The idea is to have different docs for each version like Artemis: 

https://activemq.apache.org/artemis/docs.html

So the different versions won't exist anymore in the same documentation.

This way the situation will become a bit more clear.

For the Http Session docs, usually we put everything at architecture level here:

https://github.com/apache/camel/tree/master/docs/user-manual/en

Then you can add the link in the SUMMARY Asciidoc page.

Thanks! 
--
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Thursday, October 20, 2016 2:30 PM, "Siano, Stephan" <st...@sap.com> wrote:
Hi Andrea,

Thanks for adding the Karaf features  (I actually forgot about that).

I will also add the parameter to the confluence documentation for the component (as this is a 2.19.0 feature I guess it will not be that urgent to do that). BTW. How is the version information maintained in future? In the confluence there are "since 2.19.0" statements in the description for parameters that were introduced with later versions. Is this done automatically, or do we leave that out?

You propose to add a HTTP session handling page to the confluence and the asciidoc. As this does not apply to a single component, I might add a page under "Architecture" in confluence. What is the equivalent for that in the asciidoc?

Best regards
Stephan


-----Original Message-----
From: Andrea Cosentino [mailto:ancosen1985@yahoo.com.INVALID] 
Sent: Donnerstag, 20. Oktober 2016 09:58
To: dev@camel.apache.org
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi Stephan,

For the moment we are trying to maintain docs on both side. So you can create a page about Http Session handling on confluence and (if you have time) aligning the options.

In future we will leave confluence and will create a new site with automatic generated docs from sources. I suggest to add Http Session asciidoc page also in the Camel repository.

I aligned the Karaf features related to your commit on CAMEL-10392.

Great work!

Thanks,
--
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Thursday, October 20, 2016 9:09 AM, "Siano, Stephan" <st...@sap.com> wrote:
Hi,

The JIRA task is https://issues.apache.org/jira/browse/CAMEL-10392 . I have just committed the change to the master branch. However, I have some questions about the documentation.
The change contains changes to the adoc files contained within the component. Does that mean that the component documentation on the website is auto-generated at some point in time or do I still have to change the Wiki?

The CookieHandler interface and the two implementations for it are in camel-http-common. They contain Javadoc, but the Javadoc for camel-http-common is not on the website, so that is somewhat of limited use. What would you propose how to document the overall feature?

Best regards
Stephan


-----Original Message-----
From: Siano, Stephan [mailto:stephan.siano@sap.com] 
Sent: Montag, 17. Oktober 2016 13:09
To: dev@camel.apache.org
Subject: RE: [DISCUSS] HTTP session handling in Camel routes

Hi Claus,

OK, I will create a JIRA task for it and start working. As these are seven components to extend (and test), it might take a little time...

Best regards
Stephan

-----Original Message-----
From: Claus Ibsen [mailto:claus.ibsen@gmail.com] 
Sent: Montag, 17. Oktober 2016 12:28
To: dev <de...@camel.apache.org>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi

Yeah that would work. The only downside is that camel-http-common has
a dependency on the servlet API which not all the HTTP components are
using. However its just one extra JAR on the classpath.


On Mon, Oct 17, 2016 at 10:58 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi Claus,
>
> Having the interface (and implementations) in camel-http-common makes sense to me. This means that all the components below would have a dependency to camel-http-common. Does this make sense?
>
> I would implement the support for cookies in the producer endpoints for
> camel-ahc
> camel-cxf
> camel-jetty
> camel-http4
> camel-netty4-http
> camel-restlet
> camel-undertow
>
> camel-spark-rest does not support producer endpoints
> I don't actually understand how camel-spring-ws handles HTTP protocol headers, so I would like to leave the session handling support in there for someone else (who does understand that component better than me). Anyway the change will be big enough as it is touching so many components (and especially the tests for this are probably different for all these components).
>
> Is this a way to go?
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ibsen@gmail.com]
> Sent: Montag, 17. Oktober 2016 10:08
> To: dev <de...@camel.apache.org>
> Subject: Re: [DISCUSS] HTTP session handling in Camel routes
>
> Hi
>
> I dont think cookie belongs in camel-core, and a better place is
> likely something like camel-http-common.
>
> And there are other http client components such as camel-nett4-http,
> camel-jetty, camel-undertow as well. And then for REST based there is
> camel-restlet and maybe camel-spark-rest.
> And for WS there is also camel-spring-ws.
>
> So if anything like cookie is attempted to be something that is a
> cross functionality in http components then you would need to
> implement this in more of them, and not only a limited set.
>
>
>
>
> On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
>> Hi,
>>
>> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>>
>> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>>
>> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>>
>> Questions:
>> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
>> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
>> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>>
>> Best regards
>> Stephan
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Re: [DISCUSS] HTTP session handling in Camel routes

Posted by Andrea Cosentino <an...@yahoo.com.INVALID>.
Hello Stephan,

To preview the docs and all the links just run mvn clean install into camel-website folder.

You'll have the Gitbook site running locally :-)
 --
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Friday, October 21, 2016 8:11 AM, "Siano, Stephan" <st...@sap.com> wrote:
Hi Andrea,

Thanks for the clarification. One more question:

What is the recommended way to preview the asciidoc (esepecially the links)?

Best regards
Stephan


-----Original Message-----
From: Andrea Cosentino [mailto:ancosen1985@yahoo.com] 
Sent: Donnerstag, 20. Oktober 2016 14:52
To: Siano, Stephan <st...@sap.com>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hello Stephan,

The idea is to have different docs for each version like Artemis: 

https://activemq.apache.org/artemis/docs.html

So the different versions won't exist anymore in the same documentation.

This way the situation will become a bit more clear.

For the Http Session docs, usually we put everything at architecture level here:

https://github.com/apache/camel/tree/master/docs/user-manual/en

Then you can add the link in the SUMMARY Asciidoc page.

Thanks! 
--
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Thursday, October 20, 2016 2:30 PM, "Siano, Stephan" <st...@sap.com> wrote:
Hi Andrea,

Thanks for adding the Karaf features  (I actually forgot about that).

I will also add the parameter to the confluence documentation for the component (as this is a 2.19.0 feature I guess it will not be that urgent to do that). BTW. How is the version information maintained in future? In the confluence there are "since 2.19.0" statements in the description for parameters that were introduced with later versions. Is this done automatically, or do we leave that out?

You propose to add a HTTP session handling page to the confluence and the asciidoc. As this does not apply to a single component, I might add a page under "Architecture" in confluence. What is the equivalent for that in the asciidoc?

Best regards
Stephan


-----Original Message-----
From: Andrea Cosentino [mailto:ancosen1985@yahoo.com.INVALID] 
Sent: Donnerstag, 20. Oktober 2016 09:58
To: dev@camel.apache.org
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi Stephan,

For the moment we are trying to maintain docs on both side. So you can create a page about Http Session handling on confluence and (if you have time) aligning the options.

In future we will leave confluence and will create a new site with automatic generated docs from sources. I suggest to add Http Session asciidoc page also in the Camel repository.

I aligned the Karaf features related to your commit on CAMEL-10392.

Great work!

Thanks,
--
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Thursday, October 20, 2016 9:09 AM, "Siano, Stephan" <st...@sap.com> wrote:
Hi,

The JIRA task is https://issues.apache.org/jira/browse/CAMEL-10392 . I have just committed the change to the master branch. However, I have some questions about the documentation.
The change contains changes to the adoc files contained within the component. Does that mean that the component documentation on the website is auto-generated at some point in time or do I still have to change the Wiki?

The CookieHandler interface and the two implementations for it are in camel-http-common. They contain Javadoc, but the Javadoc for camel-http-common is not on the website, so that is somewhat of limited use. What would you propose how to document the overall feature?

Best regards
Stephan


-----Original Message-----
From: Siano, Stephan [mailto:stephan.siano@sap.com] 
Sent: Montag, 17. Oktober 2016 13:09
To: dev@camel.apache.org
Subject: RE: [DISCUSS] HTTP session handling in Camel routes

Hi Claus,

OK, I will create a JIRA task for it and start working. As these are seven components to extend (and test), it might take a little time...

Best regards
Stephan

-----Original Message-----
From: Claus Ibsen [mailto:claus.ibsen@gmail.com] 
Sent: Montag, 17. Oktober 2016 12:28
To: dev <de...@camel.apache.org>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi

Yeah that would work. The only downside is that camel-http-common has
a dependency on the servlet API which not all the HTTP components are
using. However its just one extra JAR on the classpath.


On Mon, Oct 17, 2016 at 10:58 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi Claus,
>
> Having the interface (and implementations) in camel-http-common makes sense to me. This means that all the components below would have a dependency to camel-http-common. Does this make sense?
>
> I would implement the support for cookies in the producer endpoints for
> camel-ahc
> camel-cxf
> camel-jetty
> camel-http4
> camel-netty4-http
> camel-restlet
> camel-undertow
>
> camel-spark-rest does not support producer endpoints
> I don't actually understand how camel-spring-ws handles HTTP protocol headers, so I would like to leave the session handling support in there for someone else (who does understand that component better than me). Anyway the change will be big enough as it is touching so many components (and especially the tests for this are probably different for all these components).
>
> Is this a way to go?
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ibsen@gmail.com]
> Sent: Montag, 17. Oktober 2016 10:08
> To: dev <de...@camel.apache.org>
> Subject: Re: [DISCUSS] HTTP session handling in Camel routes
>
> Hi
>
> I dont think cookie belongs in camel-core, and a better place is
> likely something like camel-http-common.
>
> And there are other http client components such as camel-nett4-http,
> camel-jetty, camel-undertow as well. And then for REST based there is
> camel-restlet and maybe camel-spark-rest.
> And for WS there is also camel-spring-ws.
>
> So if anything like cookie is attempted to be something that is a
> cross functionality in http components then you would need to
> implement this in more of them, and not only a limited set.
>
>
>
>
> On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
>> Hi,
>>
>> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>>
>> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>>
>> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>>
>> Questions:
>> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
>> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
>> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>>
>> Best regards
>> Stephan
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

RE: [DISCUSS] HTTP session handling in Camel routes

Posted by "Siano, Stephan" <st...@sap.com>.
Hi Andrea,

Thanks for adding the Karaf features  (I actually forgot about that).

I will also add the parameter to the confluence documentation for the component (as this is a 2.19.0 feature I guess it will not be that urgent to do that). BTW. How is the version information maintained in future? In the confluence there are "since 2.19.0" statements in the description for parameters that were introduced with later versions. Is this done automatically, or do we leave that out?

You propose to add a HTTP session handling page to the confluence and the asciidoc. As this does not apply to a single component, I might add a page under "Architecture" in confluence. What is the equivalent for that in the asciidoc?

Best regards
Stephan

-----Original Message-----
From: Andrea Cosentino [mailto:ancosen1985@yahoo.com.INVALID] 
Sent: Donnerstag, 20. Oktober 2016 09:58
To: dev@camel.apache.org
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi Stephan,

For the moment we are trying to maintain docs on both side. So you can create a page about Http Session handling on confluence and (if you have time) aligning the options.

In future we will leave confluence and will create a new site with automatic generated docs from sources. I suggest to add Http Session asciidoc page also in the Camel repository.

I aligned the Karaf features related to your commit on CAMEL-10392.

Great work!

Thanks,
 --
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Thursday, October 20, 2016 9:09 AM, "Siano, Stephan" <st...@sap.com> wrote:
Hi,

The JIRA task is https://issues.apache.org/jira/browse/CAMEL-10392 . I have just committed the change to the master branch. However, I have some questions about the documentation.
The change contains changes to the adoc files contained within the component. Does that mean that the component documentation on the website is auto-generated at some point in time or do I still have to change the Wiki?

The CookieHandler interface and the two implementations for it are in camel-http-common. They contain Javadoc, but the Javadoc for camel-http-common is not on the website, so that is somewhat of limited use. What would you propose how to document the overall feature?

Best regards
Stephan


-----Original Message-----
From: Siano, Stephan [mailto:stephan.siano@sap.com] 
Sent: Montag, 17. Oktober 2016 13:09
To: dev@camel.apache.org
Subject: RE: [DISCUSS] HTTP session handling in Camel routes

Hi Claus,

OK, I will create a JIRA task for it and start working. As these are seven components to extend (and test), it might take a little time...

Best regards
Stephan

-----Original Message-----
From: Claus Ibsen [mailto:claus.ibsen@gmail.com] 
Sent: Montag, 17. Oktober 2016 12:28
To: dev <de...@camel.apache.org>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi

Yeah that would work. The only downside is that camel-http-common has
a dependency on the servlet API which not all the HTTP components are
using. However its just one extra JAR on the classpath.


On Mon, Oct 17, 2016 at 10:58 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi Claus,
>
> Having the interface (and implementations) in camel-http-common makes sense to me. This means that all the components below would have a dependency to camel-http-common. Does this make sense?
>
> I would implement the support for cookies in the producer endpoints for
> camel-ahc
> camel-cxf
> camel-jetty
> camel-http4
> camel-netty4-http
> camel-restlet
> camel-undertow
>
> camel-spark-rest does not support producer endpoints
> I don't actually understand how camel-spring-ws handles HTTP protocol headers, so I would like to leave the session handling support in there for someone else (who does understand that component better than me). Anyway the change will be big enough as it is touching so many components (and especially the tests for this are probably different for all these components).
>
> Is this a way to go?
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ibsen@gmail.com]
> Sent: Montag, 17. Oktober 2016 10:08
> To: dev <de...@camel.apache.org>
> Subject: Re: [DISCUSS] HTTP session handling in Camel routes
>
> Hi
>
> I dont think cookie belongs in camel-core, and a better place is
> likely something like camel-http-common.
>
> And there are other http client components such as camel-nett4-http,
> camel-jetty, camel-undertow as well. And then for REST based there is
> camel-restlet and maybe camel-spark-rest.
> And for WS there is also camel-spring-ws.
>
> So if anything like cookie is attempted to be something that is a
> cross functionality in http components then you would need to
> implement this in more of them, and not only a limited set.
>
>
>
>
> On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
>> Hi,
>>
>> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>>
>> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>>
>> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>>
>> Questions:
>> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
>> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
>> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>>
>> Best regards
>> Stephan
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Re: [DISCUSS] HTTP session handling in Camel routes

Posted by Andrea Cosentino <an...@yahoo.com.INVALID>.
Hi Stephan,

For the moment we are trying to maintain docs on both side. So you can create a page about Http Session handling on confluence and (if you have time) aligning the options.

In future we will leave confluence and will create a new site with automatic generated docs from sources. I suggest to add Http Session asciidoc page also in the Camel repository.

I aligned the Karaf features related to your commit on CAMEL-10392.

Great work!

Thanks,
 --
Andrea Cosentino 
----------------------------------
Apache Camel PMC Member
Apache Karaf Committer
Apache Servicemix Committer
Email: ancosen1985@yahoo.com
Twitter: @oscerd2
Github: oscerd



On Thursday, October 20, 2016 9:09 AM, "Siano, Stephan" <st...@sap.com> wrote:
Hi,

The JIRA task is https://issues.apache.org/jira/browse/CAMEL-10392 . I have just committed the change to the master branch. However, I have some questions about the documentation.
The change contains changes to the adoc files contained within the component. Does that mean that the component documentation on the website is auto-generated at some point in time or do I still have to change the Wiki?

The CookieHandler interface and the two implementations for it are in camel-http-common. They contain Javadoc, but the Javadoc for camel-http-common is not on the website, so that is somewhat of limited use. What would you propose how to document the overall feature?

Best regards
Stephan


-----Original Message-----
From: Siano, Stephan [mailto:stephan.siano@sap.com] 
Sent: Montag, 17. Oktober 2016 13:09
To: dev@camel.apache.org
Subject: RE: [DISCUSS] HTTP session handling in Camel routes

Hi Claus,

OK, I will create a JIRA task for it and start working. As these are seven components to extend (and test), it might take a little time...

Best regards
Stephan

-----Original Message-----
From: Claus Ibsen [mailto:claus.ibsen@gmail.com] 
Sent: Montag, 17. Oktober 2016 12:28
To: dev <de...@camel.apache.org>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi

Yeah that would work. The only downside is that camel-http-common has
a dependency on the servlet API which not all the HTTP components are
using. However its just one extra JAR on the classpath.


On Mon, Oct 17, 2016 at 10:58 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi Claus,
>
> Having the interface (and implementations) in camel-http-common makes sense to me. This means that all the components below would have a dependency to camel-http-common. Does this make sense?
>
> I would implement the support for cookies in the producer endpoints for
> camel-ahc
> camel-cxf
> camel-jetty
> camel-http4
> camel-netty4-http
> camel-restlet
> camel-undertow
>
> camel-spark-rest does not support producer endpoints
> I don't actually understand how camel-spring-ws handles HTTP protocol headers, so I would like to leave the session handling support in there for someone else (who does understand that component better than me). Anyway the change will be big enough as it is touching so many components (and especially the tests for this are probably different for all these components).
>
> Is this a way to go?
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ibsen@gmail.com]
> Sent: Montag, 17. Oktober 2016 10:08
> To: dev <de...@camel.apache.org>
> Subject: Re: [DISCUSS] HTTP session handling in Camel routes
>
> Hi
>
> I dont think cookie belongs in camel-core, and a better place is
> likely something like camel-http-common.
>
> And there are other http client components such as camel-nett4-http,
> camel-jetty, camel-undertow as well. And then for REST based there is
> camel-restlet and maybe camel-spark-rest.
> And for WS there is also camel-spring-ws.
>
> So if anything like cookie is attempted to be something that is a
> cross functionality in http components then you would need to
> implement this in more of them, and not only a limited set.
>
>
>
>
> On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
>> Hi,
>>
>> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>>
>> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>>
>> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>>
>> Questions:
>> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
>> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
>> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>>
>> Best regards
>> Stephan
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

RE: [DISCUSS] HTTP session handling in Camel routes

Posted by "Siano, Stephan" <st...@sap.com>.
Hi,

The JIRA task is https://issues.apache.org/jira/browse/CAMEL-10392 . I have just committed the change to the master branch. However, I have some questions about the documentation.
The change contains changes to the adoc files contained within the component. Does that mean that the component documentation on the website is auto-generated at some point in time or do I still have to change the Wiki?

The CookieHandler interface and the two implementations for it are in camel-http-common. They contain Javadoc, but the Javadoc for camel-http-common is not on the website, so that is somewhat of limited use. What would you propose how to document the overall feature?

Best regards
Stephan

-----Original Message-----
From: Siano, Stephan [mailto:stephan.siano@sap.com] 
Sent: Montag, 17. Oktober 2016 13:09
To: dev@camel.apache.org
Subject: RE: [DISCUSS] HTTP session handling in Camel routes

Hi Claus,

OK, I will create a JIRA task for it and start working. As these are seven components to extend (and test), it might take a little time...

Best regards
Stephan

-----Original Message-----
From: Claus Ibsen [mailto:claus.ibsen@gmail.com] 
Sent: Montag, 17. Oktober 2016 12:28
To: dev <de...@camel.apache.org>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi

Yeah that would work. The only downside is that camel-http-common has
a dependency on the servlet API which not all the HTTP components are
using. However its just one extra JAR on the classpath.


On Mon, Oct 17, 2016 at 10:58 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi Claus,
>
> Having the interface (and implementations) in camel-http-common makes sense to me. This means that all the components below would have a dependency to camel-http-common. Does this make sense?
>
> I would implement the support for cookies in the producer endpoints for
> camel-ahc
> camel-cxf
> camel-jetty
> camel-http4
> camel-netty4-http
> camel-restlet
> camel-undertow
>
> camel-spark-rest does not support producer endpoints
> I don't actually understand how camel-spring-ws handles HTTP protocol headers, so I would like to leave the session handling support in there for someone else (who does understand that component better than me). Anyway the change will be big enough as it is touching so many components (and especially the tests for this are probably different for all these components).
>
> Is this a way to go?
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ibsen@gmail.com]
> Sent: Montag, 17. Oktober 2016 10:08
> To: dev <de...@camel.apache.org>
> Subject: Re: [DISCUSS] HTTP session handling in Camel routes
>
> Hi
>
> I dont think cookie belongs in camel-core, and a better place is
> likely something like camel-http-common.
>
> And there are other http client components such as camel-nett4-http,
> camel-jetty, camel-undertow as well. And then for REST based there is
> camel-restlet and maybe camel-spark-rest.
> And for WS there is also camel-spring-ws.
>
> So if anything like cookie is attempted to be something that is a
> cross functionality in http components then you would need to
> implement this in more of them, and not only a limited set.
>
>
>
>
> On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
>> Hi,
>>
>> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>>
>> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>>
>> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>>
>> Questions:
>> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
>> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
>> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>>
>> Best regards
>> Stephan
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

RE: [DISCUSS] HTTP session handling in Camel routes

Posted by "Siano, Stephan" <st...@sap.com>.
Hi Claus,

OK, I will create a JIRA task for it and start working. As these are seven components to extend (and test), it might take a little time...

Best regards
Stephan

-----Original Message-----
From: Claus Ibsen [mailto:claus.ibsen@gmail.com] 
Sent: Montag, 17. Oktober 2016 12:28
To: dev <de...@camel.apache.org>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi

Yeah that would work. The only downside is that camel-http-common has
a dependency on the servlet API which not all the HTTP components are
using. However its just one extra JAR on the classpath.


On Mon, Oct 17, 2016 at 10:58 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi Claus,
>
> Having the interface (and implementations) in camel-http-common makes sense to me. This means that all the components below would have a dependency to camel-http-common. Does this make sense?
>
> I would implement the support for cookies in the producer endpoints for
> camel-ahc
> camel-cxf
> camel-jetty
> camel-http4
> camel-netty4-http
> camel-restlet
> camel-undertow
>
> camel-spark-rest does not support producer endpoints
> I don't actually understand how camel-spring-ws handles HTTP protocol headers, so I would like to leave the session handling support in there for someone else (who does understand that component better than me). Anyway the change will be big enough as it is touching so many components (and especially the tests for this are probably different for all these components).
>
> Is this a way to go?
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ibsen@gmail.com]
> Sent: Montag, 17. Oktober 2016 10:08
> To: dev <de...@camel.apache.org>
> Subject: Re: [DISCUSS] HTTP session handling in Camel routes
>
> Hi
>
> I dont think cookie belongs in camel-core, and a better place is
> likely something like camel-http-common.
>
> And there are other http client components such as camel-nett4-http,
> camel-jetty, camel-undertow as well. And then for REST based there is
> camel-restlet and maybe camel-spark-rest.
> And for WS there is also camel-spring-ws.
>
> So if anything like cookie is attempted to be something that is a
> cross functionality in http components then you would need to
> implement this in more of them, and not only a limited set.
>
>
>
>
> On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
>> Hi,
>>
>> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>>
>> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>>
>> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>>
>> Questions:
>> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
>> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
>> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>>
>> Best regards
>> Stephan
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Re: [DISCUSS] HTTP session handling in Camel routes

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Yeah that would work. The only downside is that camel-http-common has
a dependency on the servlet API which not all the HTTP components are
using. However its just one extra JAR on the classpath.


On Mon, Oct 17, 2016 at 10:58 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi Claus,
>
> Having the interface (and implementations) in camel-http-common makes sense to me. This means that all the components below would have a dependency to camel-http-common. Does this make sense?
>
> I would implement the support for cookies in the producer endpoints for
> camel-ahc
> camel-cxf
> camel-jetty
> camel-http4
> camel-netty4-http
> camel-restlet
> camel-undertow
>
> camel-spark-rest does not support producer endpoints
> I don't actually understand how camel-spring-ws handles HTTP protocol headers, so I would like to leave the session handling support in there for someone else (who does understand that component better than me). Anyway the change will be big enough as it is touching so many components (and especially the tests for this are probably different for all these components).
>
> Is this a way to go?
>
> Best regards
> Stephan
>
> -----Original Message-----
> From: Claus Ibsen [mailto:claus.ibsen@gmail.com]
> Sent: Montag, 17. Oktober 2016 10:08
> To: dev <de...@camel.apache.org>
> Subject: Re: [DISCUSS] HTTP session handling in Camel routes
>
> Hi
>
> I dont think cookie belongs in camel-core, and a better place is
> likely something like camel-http-common.
>
> And there are other http client components such as camel-nett4-http,
> camel-jetty, camel-undertow as well. And then for REST based there is
> camel-restlet and maybe camel-spark-rest.
> And for WS there is also camel-spring-ws.
>
> So if anything like cookie is attempted to be something that is a
> cross functionality in http components then you would need to
> implement this in more of them, and not only a limited set.
>
>
>
>
> On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
>> Hi,
>>
>> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>>
>> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>>
>> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>>
>> Questions:
>> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
>> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
>> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>>
>> Best regards
>> Stephan
>
>
>
> --
> Claus Ibsen
> -----------------
> http://davsclaus.com @davsclaus
> Camel in Action 2: https://www.manning.com/ibsen2



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

RE: [DISCUSS] HTTP session handling in Camel routes

Posted by "Siano, Stephan" <st...@sap.com>.
Hi Claus,

Having the interface (and implementations) in camel-http-common makes sense to me. This means that all the components below would have a dependency to camel-http-common. Does this make sense?

I would implement the support for cookies in the producer endpoints for
camel-ahc
camel-cxf
camel-jetty
camel-http4
camel-netty4-http
camel-restlet
camel-undertow

camel-spark-rest does not support producer endpoints
I don't actually understand how camel-spring-ws handles HTTP protocol headers, so I would like to leave the session handling support in there for someone else (who does understand that component better than me). Anyway the change will be big enough as it is touching so many components (and especially the tests for this are probably different for all these components).

Is this a way to go?

Best regards
Stephan

-----Original Message-----
From: Claus Ibsen [mailto:claus.ibsen@gmail.com] 
Sent: Montag, 17. Oktober 2016 10:08
To: dev <de...@camel.apache.org>
Subject: Re: [DISCUSS] HTTP session handling in Camel routes

Hi

I dont think cookie belongs in camel-core, and a better place is
likely something like camel-http-common.

And there are other http client components such as camel-nett4-http,
camel-jetty, camel-undertow as well. And then for REST based there is
camel-restlet and maybe camel-spark-rest.
And for WS there is also camel-spring-ws.

So if anything like cookie is attempted to be something that is a
cross functionality in http components then you would need to
implement this in more of them, and not only a limited set.




On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi,
>
> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>
> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>
> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>
> Questions:
> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>
> Best regards
> Stephan



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Re: [DISCUSS] HTTP session handling in Camel routes

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

I dont think cookie belongs in camel-core, and a better place is
likely something like camel-http-common.

And there are other http client components such as camel-nett4-http,
camel-jetty, camel-undertow as well. And then for REST based there is
camel-restlet and maybe camel-spark-rest.
And for WS there is also camel-spring-ws.

So if anything like cookie is attempted to be something that is a
cross functionality in http components then you would need to
implement this in more of them, and not only a limited set.




On Fri, Oct 14, 2016 at 7:24 AM, Siano, Stephan <st...@sap.com> wrote:
> Hi,
>
> I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.
>
> I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.
>
> Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.
>
> Questions:
> 1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
> 2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
> 3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?
>
> Best regards
> Stephan



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

RE: [DISCUSS] HTTP session handling in Camel routes

Posted by "Siano, Stephan" <st...@sap.com>.
Hi,

I have not received any feedback so far, so I assume that there is at least nobody strongly against this feature. Maybe I can sketch what I would like to implement and ask some questions about implementation details.

I would create an interface (CamelCookieHandler and two implementation classes InstanceCookieHandler and ExchangeCookieHandler. The former keeps the cookie store with its instance, the latter stores them with the Exchange.

Furthermore I would extend some HTTP based producer endpoints with a parameter allowing to set one of these cookie handlers.

Questions:
1. The interface goes to package org.apache.camel. Where do the implementation classes go? org.apache.camel.impl? Someone building a Camel route is supposed to instantiate these classes.
2. Where do I document the general concept behind this? It's obviously cross component, so adding it to the component documentation does not make too much sense. Is the Javadoc for the interface and the implementation classes sufficient or should I add a Wiki page somewhere else?
3. I would add support for this to the camel-ahc, camel-cxf, and camel-http4 component. Is the camel-http component still alive? Does it make sense to add it to other components I overlooked?

Best regards
Stephan