[Q] Grizzlet access to server URL, client address, etc

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[Q] Grizzlet access to server URL, client address, etc

Zaid Al-Timimi

it does not seem that a Grizzlet can access server or client info from the AsyncConnection in onRequest(). Any way to get this?

thanks.


--Zaid

http://altmobile.com
Reply | Threaded
Open this post in threaded view
|

Re: [Q] Grizzlet access to server URL, client address, etc

Jeanfrancois Arcand-2
Salut,

Zaid Al-Timimi wrote:
>
> it does not seem that a Grizzlet can access server or client info from
> the AsyncConnection in onRequest(). Any way to get this?

Good catch :-) This is missing right now. Can you tell me what you need
exactly so I can add it to the truck so you aren't blocked?

Thanks!

-- Jeanfrancois


>
> thanks.
>
>
> --Zaid
>
> http://altmobile.com <http://altmobile.com/>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [Q] Grizzlet access to server URL, client address, etc

ALT Mobile DEV
Hi and thank you for the superior implementation!

I was porting our yet-to-be-released Dynamic Mashup server from Sun Labs' Brazil to Grizzly for its Comet support.  In addition to creating composite web sites, our Mashup technologies can dynamically generate text-to-speech audio of the mash-up content. This feature is in support of the visually impaired as well as power users who want to listen to their aggregated data. Based on the presence of URL parameters, the Mashup server will generate an audio file and append an EMBED element to the mash-up content with the URL to the audio file. For example,  

Element t_embedElement = t_aDocument.createElementNS(null, "EMBED");
t_embedElement.setAttributeNS(null, "id", "tts-embed");
t_embedElement.setAttributeNS(null, "autostart", "true");
t_embedElement.setAttributeNS(null, "width", "200");
t_embedElement.setAttributeNS(null, "height", "20");
t_embedElement.setAttributeNS(null"src", request.serverUrl() + "/audio/" + t_audioIdString + ".aif");


A Brazil Handler/Servlet Request object provides a serverUrl() which is seen above in the SRC attribute-- enabling any mash-up to be audible.


Though it's easier to do this on server, I can of course generate a JavaScript which would use document.URL. 

So that's why I need a serverUrl() method. As for information about the client's IP address and browser, our Mashup server technologies also uses geo-location to provide contextual mash-up filtering and dynamic content transcoding based on client capabilities. I have not tested to see if Grizzlets support cookie access.


Thanks again.

--Zaid




On Jan 7, 2008, at 10:57 AM, Jeanfrancois Arcand wrote:

Salut,

Zaid Al-Timimi wrote:
it does not seem that a Grizzlet can access server or client info from the AsyncConnection in onRequest(). Any way to get this?

Good catch :-) This is missing right now. Can you tell me what you need exactly so I can add it to the truck so you aren't blocked?

Thanks!

-- Jeanfrancois


thanks.
--Zaid
http://altmobile.com <http://altmobile.com/>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: [Q] Grizzlet access to server URL, client address, etc

Jeanfrancois Arcand-2
Hi,

ALT Mobile DEV wrote:

> Hi and thank you for the superior implementation!
>
> I was porting our yet-to-be-released Dynamic Mashup server from Sun
> Labs' Brazil to Grizzly for its Comet support.  In addition to creating
> composite web sites, our Mashup technologies can dynamically generate
> text-to-speech audio of the mash-up content. This feature is in support
> of the visually impaired as well as power users who want to listen to
> their aggregated data. Based on the presence of URL parameters, the
> Mashup server will generate an audio file and append an EMBED element to
> the mash-up content with the URL to the audio file. For example,  
>
> Element t_embedElement = t_aDocument.createElementNS(null, "EMBED");
> t_embedElement.setAttributeNS(null, "id", "tts-embed");
> t_embedElement.setAttributeNS(null, "autostart", "true");
> t_embedElement.setAttributeNS(null, "width", "200");
> t_embedElement.setAttributeNS(null, "height", "20");
> t_embedElement.setAttributeNS(null,  "src", request.serverUrl() +
> "/audio/" + t_audioIdString + ".aif");
>
>
> A Brazil Handler/Servlet Request object provides a serverUrl() which is
> seen above in the SRC attribute-- enabling any mash-up to be audible.
>
>
> Though it's easier to do this on server, I can of course generate a
> JavaScript which would use document.URL.
>
> So that's why I need a serverUrl() method. As for information about the
> client's IP address and browser, our Mashup server technologies also
> uses geo-location to provide contextual mash-up filtering and dynamic
> content transcoding based on client capabilities. I have not tested to
> see if Grizzlets support cookie access.

You will have to do some Request manipulation (my next post will
contains the code for doing that).

OK as usual, the documentation is lacking :-( This is my resolution for
this year....release 1.8.0 only based on documentation and bug fixes.
For a workaround (until I implement the missing methods), you can do:

import com.sun.grizzly.tcp.Request;

....


Request request = asyncConnection.getRequest().getRequest();
request.action(ActionCode.ACTION_REQ_HOST_ADDR_ATTRIBUTE);
request.action(ActionCode.ACTION_REQ_LOCAL_NAME_ATTRIBUTE);
request.action(ActionCode.ACTION_REQ_HOST_ATTRIBUTE);
request.action(ActionCode.ACTION_REQ_LOCAL_ADDR_ATTRIBUTE);

and then invoking the method below will gives you what you are looking at:

request.remoteAddr();
request.remoteHost();


Not simple, but at least you have a workaround until I implement those
missing method and more important, documents them :-)

Thanks!

-- Jeanfrancois




>
>
> Thanks again.
>
> --Zaid
>
> http://altmobile.com
>
>
>
> On Jan 7, 2008, at 10:57 AM, Jeanfrancois Arcand wrote:
>
>> Salut,
>>
>> Zaid Al-Timimi wrote:
>>> it does not seem that a Grizzlet can access server or client info
>>> from the AsyncConnection in onRequest(). Any way to get this?
>>
>> Good catch :-) This is missing right now. Can you tell me what you
>> need exactly so I can add it to the truck so you aren't blocked?
>>
>> Thanks!
>>
>> -- Jeanfrancois
>>
>>
>>> thanks.
>>> --Zaid
>>> http://altmobile.com <http://altmobile.com/>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> <mailto:[hidden email]>
>> For additional commands, e-mail: [hidden email]
>> <mailto:[hidden email]>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [Q] Grizzlet access to server URL, client address, etc

ALT Mobile DEV
Hi,

I assume you want me to hack the source as GrizzletRequest.getRequest
() is protected.


com.sun.grizzly.tcp.Request is definately what I want. Thanks for  
pointing me in the right direction.


--Zaid

http://altmobile.com




On Jan 7, 2008, at 5:26 PM, Jeanfrancois Arcand <[hidden email]
 > wrote:

> Hi,
>
> ALT Mobile DEV wrote:
>> Hi and thank you for the superior implementation!
>> I was porting our yet-to-be-released Dynamic Mashup server from Sun  
>> Labs' Brazil to Grizzly for its Comet support.  In addition to  
>> creating composite web sites, our Mashup technologies can  
>> dynamically generate text-to-speech audio of the mash-up content.  
>> This feature is in support of the visually impaired as well as  
>> power users who want to listen to their aggregated data. Based on  
>> the presence of URL parameters, the Mashup server will generate an  
>> audio file and append an EMBED element to the mash-up content with  
>> the URL to the audio file. For example,  Element t_embedElement =  
>> t_aDocument.createElementNS(null, "EMBED");
>> t_embedElement.setAttributeNS(null, "id", "tts-embed");
>> t_embedElement.setAttributeNS(null, "autostart", "true");
>> t_embedElement.setAttributeNS(null, "width", "200");
>> t_embedElement.setAttributeNS(null, "height", "20");
>> t_embedElement.setAttributeNS(null,  "src", request.serverUrl() + "/
>> audio/" + t_audioIdString + ".aif");
>> A Brazil Handler/Servlet Request object provides a serverUrl()  
>> which is seen above in the SRC attribute-- enabling any mash-up to  
>> be audible.
>> Though it's easier to do this on server, I can of course generate a  
>> JavaScript which would use document.URL. So that's why I need a  
>> serverUrl() method. As for information about the client's IP  
>> address and browser, our Mashup server technologies also uses geo-
>> location to provide contextual mash-up filtering and dynamic  
>> content transcoding based on client capabilities. I have not tested  
>> to see if Grizzlets support cookie access.
>
> You will have to do some Request manipulation (my next post will  
> contains the code for doing that).
>
> OK as usual, the documentation is lacking :-( This is my resolution  
> for this year....release 1.8.0 only based on documentation and bug  
> fixes. For a workaround (until I implement the missing methods), you  
> can do:
>
> import com.sun.grizzly.tcp.Request;
>
> ....
>
>
> Request request = asyncConnection.getRequest().getRequest();
> request.action(ActionCode.ACTION_REQ_HOST_ADDR_ATTRIBUTE);
> request.action(ActionCode.ACTION_REQ_LOCAL_NAME_ATTRIBUTE);
> request.action(ActionCode.ACTION_REQ_HOST_ATTRIBUTE);
> request.action(ActionCode.ACTION_REQ_LOCAL_ADDR_ATTRIBUTE);
>
> and then invoking the method below will gives you what you are  
> looking at:
>
> request.remoteAddr();
> request.remoteHost();
>
>
> Not simple, but at least you have a workaround until I implement  
> those missing method and more important, documents them :-)
>
> Thanks!
>
> -- Jeanfrancois
>
>
>
>
>> Thanks again.
>> --Zaid
>> http://altmobile.com
>> On Jan 7, 2008, at 10:57 AM, Jeanfrancois Arcand wrote:
>>> Salut,
>>>
>>> Zaid Al-Timimi wrote:
>>>> it does not seem that a Grizzlet can access server or client info  
>>>> from the AsyncConnection in onRequest(). Any way to get this?
>>>
>>> Good catch :-) This is missing right now. Can you tell me what you  
>>> need exactly so I can add it to the truck so you aren't blocked?
>>>
>>> Thanks!
>>>
>>> -- Jeanfrancois
>>>
>>>
>>>> thanks.
>>>> --Zaid
>>>> http://altmobile.com <http://altmobile.com/>
>>>
>>> ---
>>> ------------------------------------------------------------------
>>> To unsubscribe, e-mail: [hidden email]  
>>> <mailto:[hidden email]>
>>> For additional commands, e-mail: [hidden email]  
>>> <mailto:[hidden email]>
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [Q] Grizzlet access to server URL, client address, etc

Jeanfrancois Arcand-2
Hi,

ALT Mobile DEV wrote:
> Hi,
>
> I assume you want me to hack the source as GrizzletRequest.getRequest()
> is protected.
>
>
> com.sun.grizzly.tcp.Request is definately what I want. Thanks for
> pointing me in the right direction.

How too weeks out and I almost forgot what protected means :-) Let me
change them to public for now so you can work.

Thanks for the feedback!

-- Jeanfrancois


>
>
> --Zaid
>
> http://altmobile.com
>
>
>
>
> On Jan 7, 2008, at 5:26 PM, Jeanfrancois Arcand
> <[hidden email]> wrote:
>
>> Hi,
>>
>> ALT Mobile DEV wrote:
>>> Hi and thank you for the superior implementation!
>>> I was porting our yet-to-be-released Dynamic Mashup server from Sun
>>> Labs' Brazil to Grizzly for its Comet support.  In addition to
>>> creating composite web sites, our Mashup technologies can dynamically
>>> generate text-to-speech audio of the mash-up content. This feature is
>>> in support of the visually impaired as well as power users who want
>>> to listen to their aggregated data. Based on the presence of URL
>>> parameters, the Mashup server will generate an audio file and append
>>> an EMBED element to the mash-up content with the URL to the audio
>>> file. For example,  Element t_embedElement =
>>> t_aDocument.createElementNS(null, "EMBED");
>>> t_embedElement.setAttributeNS(null, "id", "tts-embed");
>>> t_embedElement.setAttributeNS(null, "autostart", "true");
>>> t_embedElement.setAttributeNS(null, "width", "200");
>>> t_embedElement.setAttributeNS(null, "height", "20");
>>> t_embedElement.setAttributeNS(null,  "src", request.serverUrl() +
>>> "/audio/" + t_audioIdString + ".aif");
>>> A Brazil Handler/Servlet Request object provides a serverUrl() which
>>> is seen above in the SRC attribute-- enabling any mash-up to be audible.
>>> Though it's easier to do this on server, I can of course generate a
>>> JavaScript which would use document.URL. So that's why I need a
>>> serverUrl() method. As for information about the client's IP address
>>> and browser, our Mashup server technologies also uses geo-location to
>>> provide contextual mash-up filtering and dynamic content transcoding
>>> based on client capabilities. I have not tested to see if Grizzlets
>>> support cookie access.
>>
>> You will have to do some Request manipulation (my next post will
>> contains the code for doing that).
>>
>> OK as usual, the documentation is lacking :-( This is my resolution
>> for this year....release 1.8.0 only based on documentation and bug
>> fixes. For a workaround (until I implement the missing methods), you
>> can do:
>>
>> import com.sun.grizzly.tcp.Request;
>>
>> ....
>>
>>
>> Request request = asyncConnection.getRequest().getRequest();
>> request.action(ActionCode.ACTION_REQ_HOST_ADDR_ATTRIBUTE);
>> request.action(ActionCode.ACTION_REQ_LOCAL_NAME_ATTRIBUTE);
>> request.action(ActionCode.ACTION_REQ_HOST_ATTRIBUTE);
>> request.action(ActionCode.ACTION_REQ_LOCAL_ADDR_ATTRIBUTE);
>>
>> and then invoking the method below will gives you what you are looking
>> at:
>>
>> request.remoteAddr();
>> request.remoteHost();
>>
>>
>> Not simple, but at least you have a workaround until I implement those
>> missing method and more important, documents them :-)
>>
>> Thanks!
>>
>> -- Jeanfrancois
>>
>>
>>
>>
>>> Thanks again.
>>> --Zaid
>>> http://altmobile.com
>>> On Jan 7, 2008, at 10:57 AM, Jeanfrancois Arcand wrote:
>>>> Salut,
>>>>
>>>> Zaid Al-Timimi wrote:
>>>>> it does not seem that a Grizzlet can access server or client info
>>>>> from the AsyncConnection in onRequest(). Any way to get this?
>>>>
>>>> Good catch :-) This is missing right now. Can you tell me what you
>>>> need exactly so I can add it to the truck so you aren't blocked?
>>>>
>>>> Thanks!
>>>>
>>>> -- Jeanfrancois
>>>>
>>>>
>>>>> thanks.
>>>>> --Zaid
>>>>> http://altmobile.com <http://altmobile.com/>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [hidden email]
>>>> <mailto:[hidden email]>
>>>> For additional commands, e-mail: [hidden email]
>>>> <mailto:[hidden email]>
>>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: [Q] Grizzlet access to server URL, client address, etc

Jeanfrancois Arcand-2
In reply to this post by ALT Mobile DEV
Hi,

ALT Mobile DEV wrote:
> Hi,
>
> I assume you want me to hack the source as GrizzletRequest.getRequest()
> is protected.
>
>
> com.sun.grizzly.tcp.Request is definately what I want. Thanks for
> pointing me in the right direction.

How too weeks out and I almost forgot what protected means :-) Let me
change them to public for now so you can work.

Thanks for the feedback!

-- Jeanfrancois


>
>
> --Zaid
>
> http://altmobile.com
>
>
>
>
> On Jan 7, 2008, at 5:26 PM, Jeanfrancois Arcand
> <[hidden email]> wrote:
>
>> Hi,
>>
>> ALT Mobile DEV wrote:
>>> Hi and thank you for the superior implementation!
>>> I was porting our yet-to-be-released Dynamic Mashup server from Sun
>>> Labs' Brazil to Grizzly for its Comet support.  In addition to
>>> creating composite web sites, our Mashup technologies can dynamically
>>> generate text-to-speech audio of the mash-up content. This feature is
>>> in support of the visually impaired as well as power users who want
>>> to listen to their aggregated data. Based on the presence of URL
>>> parameters, the Mashup server will generate an audio file and append
>>> an EMBED element to the mash-up content with the URL to the audio
>>> file. For example,  Element t_embedElement =
>>> t_aDocument.createElementNS(null, "EMBED");
>>> t_embedElement.setAttributeNS(null, "id", "tts-embed");
>>> t_embedElement.setAttributeNS(null, "autostart", "true");
>>> t_embedElement.setAttributeNS(null, "width", "200");
>>> t_embedElement.setAttributeNS(null, "height", "20");
>>> t_embedElement.setAttributeNS(null,  "src", request.serverUrl() +
>>> "/audio/" + t_audioIdString + ".aif");
>>> A Brazil Handler/Servlet Request object provides a serverUrl() which
>>> is seen above in the SRC attribute-- enabling any mash-up to be audible.
>>> Though it's easier to do this on server, I can of course generate a
>>> JavaScript which would use document.URL. So that's why I need a
>>> serverUrl() method. As for information about the client's IP address
>>> and browser, our Mashup server technologies also uses geo-location to
>>> provide contextual mash-up filtering and dynamic content transcoding
>>> based on client capabilities. I have not tested to see if Grizzlets
>>> support cookie access.
>>
>> You will have to do some Request manipulation (my next post will
>> contains the code for doing that).
>>
>> OK as usual, the documentation is lacking :-( This is my resolution
>> for this year....release 1.8.0 only based on documentation and bug
>> fixes. For a workaround (until I implement the missing methods), you
>> can do:
>>
>> import com.sun.grizzly.tcp.Request;
>>
>> ....
>>
>>
>> Request request = asyncConnection.getRequest().getRequest();
>> request.action(ActionCode.ACTION_REQ_HOST_ADDR_ATTRIBUTE);
>> request.action(ActionCode.ACTION_REQ_LOCAL_NAME_ATTRIBUTE);
>> request.action(ActionCode.ACTION_REQ_HOST_ATTRIBUTE);
>> request.action(ActionCode.ACTION_REQ_LOCAL_ADDR_ATTRIBUTE);
>>
>> and then invoking the method below will gives you what you are looking
>> at:
>>
>> request.remoteAddr();
>> request.remoteHost();
>>
>>
>> Not simple, but at least you have a workaround until I implement those
>> missing method and more important, documents them :-)
>>
>> Thanks!
>>
>> -- Jeanfrancois
>>
>>
>>
>>
>>> Thanks again.
>>> --Zaid
>>> http://altmobile.com
>>> On Jan 7, 2008, at 10:57 AM, Jeanfrancois Arcand wrote:
>>>> Salut,
>>>>
>>>> Zaid Al-Timimi wrote:
>>>>> it does not seem that a Grizzlet can access server or client info
>>>>> from the AsyncConnection in onRequest(). Any way to get this?
>>>>
>>>> Good catch :-) This is missing right now. Can you tell me what you
>>>> need exactly so I can add it to the truck so you aren't blocked?
>>>>
>>>> Thanks!
>>>>
>>>> -- Jeanfrancois
>>>>
>>>>
>>>>> thanks.
>>>>> --Zaid
>>>>> http://altmobile.com <http://altmobile.com/>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [hidden email]
>>>> <mailto:[hidden email]>
>>>> For additional commands, e-mail: [hidden email]
>>>> <mailto:[hidden email]>
>>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [hidden email]
>> For additional commands, e-mail: [hidden email]
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]