Olá pessoal, nesse post vou apresentar a última classe que fiz pra agilizar a conexão do Flash com o servidor.
Chamo a HTTPService de Helper. Ouvi esse termo pela primeira vez com o pessoal de PHP aqui da agência que trabalho, no framework da Zend helpers são muito utilizados. São classes com métodos estáticos que agilizam processos cotidianos.
A web em geral hoje utiliza muito como conexão à serviços no servidor HTTPServices e WebServices. Normalmente o retorno desse serviço é um XML ou XML-based.
Sabemos que criar um URLLoader, um URLRequest e um URLVariables configurá-los e por a funcionar é um processo chato e cotidiano. Então que tal fazer isso em uma linha? Essa é a proposta da HTTPService.
No exemplo abaixo, chamo dois HTTPServices, um é meu próprio para exemplo e o outro é um de teste do Twiiter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | package { import com.leocavalcante.net.HTTPService; import com.leocavalcante.net.HTTPServiceEvent; import flash.display.Sprite; /** * ... * @author Leo Cavalcante */ public class Main extends Sprite { public function Main() { HTTPService.call( "http://leocavalcante.com/services/HelloWorld.php", helloWorldResult, "q=Hello World", HTTPService.POST ); HTTPService.call( "http://twitter.com/help/test.xml", twitterSearchResult ); } private function helloWorldResult( event: HTTPServiceEvent ): void { trace ( event.result ); } private function twitterSearchResult( event: HTTPServiceEvent ): void { trace ( event.xml ); } } } |
No primeiro, além de chamar o serviço, envio através do método POST o parametro “q” com o valor “Hello World”.
A funcionalidade do serviço é simplesmente retornar o valor de “q”, então imprimo o resultado cru, como String.
No segundo, chamo o serviço de teste do Twitter, não envio parametros e deixo o método padrão (default), o GET, que também é o método esperado pelo serviço: Twitter REST API Method: help test.
A resposta desse serviço é um XML com a tag “ok” de valor “true”, a HTTPService já trata disso e passa o XML resposta pra HTTPServiceEvent, então um simples “event.xml” como no exemplo, já basta para imprimir o resultado como XML.
O uso da classe é muito simples, tem apenas um método estático.
1 | public static function call( service: String, callback: Function, params: String = null, method: String = "GET" ): void |
service é a URL do serviço, o endereço do arquivo no servidor.
callback é uma função de resultado que será adicionada como handler pra HTTPServiceEvent
params (opcional) é uma String de parametros que o serviço pode esperar. Exemplo: “param1=value1¶m2=value2″
method (opcional) é o método do serviço, POST ou GET, o padrão é GET e você pode mudá-lo com as constantes estáticas: HTTPService.GET or HTTPService.POST
Download
Exemplos HTTPService
Baixado 102 vezes
Tamanho 1.7 KB
Classe de uso fácil e que facilita. Qualquer problema com ela mande nos cometários que corrigirei em próximas versões ;) E claro, ela é OpenSource, fique a vontade para modifica-la a seu gosto. Só seja ético e deixe os créditos.

em 3 de setembro de 2009
Uma temporada parada mas quando a FlashPedia volta a atividade só vem com coisa boa! Legal Leo, muito útil! o/