leitura do artigo >

02
set

HTTPService

Conexão com o servidor pra você é sempre aquela mesma rotina chata de criar várias classes e adicionar vários eventos? Que tal fazer tudo isso em uma linha e ainda receber a resposta direto em XML? A HTTPService faz pra isso você.

Comentários (3) Comentários(1) Categorias Action Script3, Classes

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&param2=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
Clique para fazer o download

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.

Postado em 02-09-2009 por Leo Cavalcante
em Action Script3, Classes

Share/Save/Bookmark

Comentários

  • Eder Lima disse:
    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/

 Escreva um Comentário

Seu nome

E-mail (não será publicado) (obrigatório)

Website

Comente

Security Code: