Development-UrlCreation

Version 30.1 by Pascal Robert on 2010/09/12 00:56

WOContext

The WOContext object is used to shepherd a request through the application and then back out to the user.  It is also responsible for creation of URL's within the application server.  So as the the response is being generated, the application will ask the context to generate URLs back into itself.

Example URLs

The WOContext has a number of methods on itself to generate URLs back into the application server.  Here the author has tested the generation of those URLs so it can be seen what is created by each method under different usages.  These examples have been produced with WebObjects 5.4.

A - completeURLWithRequestHandlerKey(..)

completeURLWithRequestHandlerKey(
  WOApplication.application().directActionRequestHandlerKey(),
 "default",
 "a=b",
  context().request().isSecure(),
 0);
SessionDeploymentSecureGenerated URL
YDevNhttp://hebe.local:54791/cgi-bin/WebObjects/TestUrlCreation.woa/wa/default?a=b
NDevNhttp://hebe.local:54791/cgi-bin/WebObjects/TestUrlCreation.woa/wa/default?a=b
YwotaskdNhttp://server/cgi-bin/WebObjects/UT.woa/1/wa/default?a=b
NwotaskdNhttp://server/cgi-bin/WebObjects/UT.woa/wa/default?a=b
YwotaskdYhttps://server:443/cgi-bin/WebObjects/UT.woa/1/wa/default?a=b
NwotaskdYhttps://server:443/cgi-bin/WebObjects/UT.woa/wa/default?a=b

B - completeURLWithRequestHandlerKey(..)

completeURLWithRequestHandlerKey(
 "123",
  WOApplication.application().directActionRequestHandlerKey(),
 "default",
 "a=b",
  context().request().isSecure(),
 0);
SessionDeploymentSecureGenerated URL
YDevNhttp://hebe.local:54791/cgi-bin/WebObjects/TestUrlCreation.woa/123/wa/default?a=b
NDevNhttp://hebe.local:54791/cgi-bin/WebObjects/TestUrlCreation.woa/123/wa/default?a=b
YwotaskdNhttp://server/cgi-bin/WebObjects/UT.woa/1/wa/default?a=b
NwotaskdNhttp://server/cgi-bin/WebObjects/UT.woa/1/wa/default?a=b
YwotaskdYhttps://server:443/cgi-bin/WebObjects/UT.woa/1/wa/default?a=b
NwotaskdYhttps://server:443/cgi-bin/WebObjects/UT.woa/1/wa/default?a=b

C - componentActionURL(..)

componentActionURL()
SessionDeploymentSecureGenerated URL
YDevN/cgi-bin/WebObjects/TestUrlCreation.woa/wo/V4N99Ub2Zjavh6V3tvcEQM/0.15
NDevN/cgi-bin/WebObjects/TestUrlCreation.woa/wo/zBXy58rwSW6aU1mTXVk9uw/0.11
YwotaskdN/cgi-bin/WebObjects/UT.woa/1/wo/KMU4YqMibJ4p8XP0biSYDw/0.15
NwotaskdN/cgi-bin/WebObjects/UT.woa/1/wo/TxKR0vkbs8Z0tGsUfrGlQ0/0.15
YwotaskdY/cgi-bin/WebObjects/UT.woa/1/wo/3bmlqBLMVGzjmuW1wTPTZw/0.15
NwotaskdY/cgi-bin/WebObjects/UT.woa/1/wo/z3uRsfT27ZsKLvlcS4Bkx0/0.15

D - componentActionURL(..)

componentActionURL(WOApplication.application().ajaxRequestHandlerKey())
SessionDeploymentSecureGenerated URL
YDevN/cgi-bin/WebObjects/TestUrlCreation.woa/ja/V4N99Ub2Zjavh6V3tvcEQM/0.11
NDevN/cgi-bin/WebObjects/TestUrlCreation.woa/ja/zBXy58rwSW6aU1mTXVk9uw/0.13
YwotaskdN/cgi-bin/WebObjects/UT.woa/1/ja/KMU4YqMibJ4p8XP0biSYDw/0.11
NwotaskdN/cgi-bin/WebObjects/UT.woa/1/ja/TxKR0vkbs8Z0tGsUfrGlQ0/0.11
YwotaskdY/cgi-bin/WebObjects/UT.woa/1/ja/3bmlqBLMVGzjmuW1wTPTZw/0.11
NwotaskdY/cgi-bin/WebObjects/UT.woa/1/ja/z3uRsfT27ZsKLvlcS4Bkx0/0.11

E - componentActionURL(..)

componentActionURL(
  WOApplication.application().ajaxRequestHandlerKey(),
  context().request().isSecure())
SessionDeploymentSecureGenerated URL
YDevN/cgi-bin/WebObjects/TestUrlCreation.woa/ja/V4N99Ub2Zjavh6V3tvcEQM/0.13
NDevN/cgi-bin/WebObjects/TestUrlCreation.woa/ja/zBXy58rwSW6aU1mTXVk9uw/0.15
YwotaskdN/cgi-bin/WebObjects/UT.woa/1/ja/KMU4YqMibJ4p8XP0biSYDw/0.13
NwotaskdN/cgi-bin/WebObjects/UT.woa/1/ja/TxKR0vkbs8Z0tGsUfrGlQ0/0.13
YwotaskdY/cgi-bin/WebObjects/UT.woa/1/ja/3bmlqBLMVGzjmuW1wTPTZw/0.13
NwotaskdY/cgi-bin/WebObjects/UT.woa/1/ja/z3uRsfT27ZsKLvlcS4Bkx0/0.13

F - directActionURLForActionNamed(..)

directActionURLForActionNamed(
 "default",
 new NSDictionary<String,Object>(new Object[] {"b"}, new String[] {"a"}),
  context().request().isSecure(),
 true);
SessionDeploymentSecureGenerated URL
YDevN/cgi-bin/WebObjects/TestUrlCreation.woa/wa/default?a=b&wosid=V4N99Ub2Zjavh6V3tvcEQM
NDevN/cgi-bin/WebObjects/TestUrlCreation.woa/wa/default?a=b
YwotaskdN/cgi-bin/WebObjects/UT.woa/1/wa/default?a=b&wosid=KMU4YqMibJ4p8XP0biSYDw
NwotaskdN/cgi-bin/WebObjects/UT.woa/wa/default?a=b
YwotaskdY/cgi-bin/WebObjects/UT.woa/1/wa/default?a=b&amp;wosid=3bmlqBLMVGzjmuW1wTPTZw
NwotaskdY/cgi-bin/WebObjects/UT.woa/wa/default?a=b

G - directActionURLForActionNamed(..)

directActionURLForActionNamed(
 "default",
 new NSDictionary<String,Object>(new Object[] {"b"}, new String[] {"a"}))
SessionDeploymentSecureGenerated URL
YDevN/cgi-bin/WebObjects/TestUrlCreation.woa/wa/default?a=b&wosid=V4N99Ub2Zjavh6V3tvcEQM
NDevN/cgi-bin/WebObjects/TestUrlCreation.woa/wa/default?a=b
YwotaskdN/cgi-bin/WebObjects/UT.woa/1/wa/default?a=b&wosid=KMU4YqMibJ4p8XP0biSYDw
NwotaskdN/cgi-bin/WebObjects/UT.woa/wa/default?a=b
YwotaskdYhttp://server/cgi-bin/WebObjects/UT.woa/1/wa/default?a=b&wosid=3bmlqBLMVGzjmuW1wTPTZw
NwotaskdYhttp://server/cgi-bin/WebObjects/UT.woa/wa/default?a=b

H - urlWithRequestHandlerKey(..)

urlWithRequestHandlerKey(
  WOApplication.application().ajaxRequestHandlerKey(),
 "default",
 "a=b")
SessionDeploymentSecureGenerated URL
YDevN/cgi-bin/WebObjects/TestUrlCreation.woa/ja/default?a=b
NDevN/cgi-bin/WebObjects/TestUrlCreation.woa/ja/default?a=b
YwotaskdN/cgi-bin/WebObjects/UT.woa/1/ja/default?a=b
NwotaskdN/cgi-bin/WebObjects/UT.woa/ja/default?a=b
YwotaskdY/cgi-bin/WebObjects/UT.woa/1/ja/default?a=b
NwotaskdY/cgi-bin/WebObjects/UT.woa/ja/default?a=b