Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Modify HTTP headers in Google App Engine Endpoints (Android)

I would like to add custom headers to the HTTP package sent to an Endpoint. I've read that I can access the raw HTTP data in the Endpoint method (by adding a HttpServletRequest parameter). What I am looking for is a solution (or a hack) to access and modify the data being sent by the (Android) client.

like image 520
azyoot Avatar asked Feb 03 '26 15:02

azyoot


1 Answers

Http headers can be modified like this. I use this link as example. Since it's one of the Google's example.

Read it and find EndpointsAsyncTask you can use GoogleClientRequestInitializer for this. inside

public void initialize(AbstractGoogleClientRequest abstractGoogleClientRequest) throws IOException

you can set headers like this.

HttpHeaders headers = abstractGoogleClientRequest.getRequestHeaders();
headers.setDate(dateFormat.format(calendar.getTime()));
headers.set("MyCustomHeader", "HeaderValue");
abstractGoogleClientRequest.setRequestHeaders(headers);

In above code setDate() can be used to set Date header and set() method has been used to set my own header that can be read from server side. I have used calendar class to get date but Calendar class initialization is not shown here.

I have also write a note on my blog to show how it's actually reside in the method. if you like read that too.

like image 196
Nipun Avatar answered Feb 05 '26 06:02

Nipun



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!