Flex2 AMF0 Gateway
Mayo 28th, 2006 - [Enlace local]
Para evitar configuraciones innecesarias he añadido una propiedad gateway a la clase que maneja la conexión AMF0 (Aquella que uses con la linea objectEncoding = ObjectEncoding.AMF0;), de forma que la propia aplicación autoconfigure la url donde se encuentra el servlet de OpenAMF.
Este método utiliza el nuevo soporte para expresiones regulares (RegExp) en AS3 para averiguar parte de la url que nos llevará hasta nuestro gateway. Además gatewayName guarda el nombre del gateway.
El código es el siguiente:
-
private static var gatewayName:String = “/gateway”;
-
public static function get gateway():String {
-
if (Application.application.url == null)
-
return “”;
-
-
var slashPattern:RegExp = /\/{1,2}/g;
-
var index:Number;
-
var result:Object = slashPattern.exec(Application.application.url);
-
while (result != null) {
-
index = result.index;
-
result = slashPattern.exec(Application.application.url);
-
}
-
return Application.application.url.substring(0, index) + gatewayName;
-
}
En el caso de OpenAMF, el nombre del servlet, usado en gatewayName, suele ser “/gateway” o “/gateway2″ (dependiendo de que utilices DefaultServlet o AdvancedServlet). En AMFPHP, no lo he probado, pero supongo que sería “/gateway.php”.