2013-08-22 12 views
5

Sto recupero alcuni JSON con angolare:Si può gunzip il contenuto di una richiesta di ottenere in Angolare?

$http({ 
    url: 'https://www.somemachine.com/getdata', 
    method: "GET", 
    params: {} 
}).success(function(data, status, headers, config) { 
    console.log(data); 
} 

I dati sta ricevendo è abbastanza grande, e sono felice di gzip la fonte, ma c'è un modo per gunzip quando il mio metodo $http recupera lo ?

risposta

5

Supponendo che la fonte è già zippato, basta assicurarsi l'intestazione Accept-Encoding è impostato a gzip sulla domanda:

$http.get('https://www.somemachine.com/getdata', { headers: { 'Accept-Encoding': 'gzip' } } 
).success(function(data, status, headers, config) { 
    console.log(data); 
}); 

il browser automaticamente decomprimerlo quando vede il Content-Encoding = intestazione gzip su la risposta.

+0

La prima frase non ha senso. Perché il cliente dovrebbe dire "Lo voglio zippato" quando il server lo fa comunque? – zeroflagL

+4

@zeroflagL Il server dovrebbe comprimerlo solo se il client dice "Posso accettare dati gzip" – richard