HTTPSRedirect V2: Communicate directly with Google Services

Almost a year ago, I launched a project called HTTPSRedirect. HTTPSRedirect allows you to read/write directly into Google Sheets, get info from Google Calendar services and much more, without the need for any 3rd party service. This means no more middlemen like IFTTT, pushingbox, Temboo, etc.

Google requires all communication to it’s cloud services to use SSL over HTTP. This forces the use of HTTPS. Secondly, the Google redirects your request to fetch the response data from another domain. Hence, if we need a proper channel to communicate with these services, there is a need for the HTTPS library to perform “follow-redirects”. HTTPSRedirect performs all this seamlessly. All the user needs to do is use simple GET/POST requests and HTTPSRedirect will handle all the messy stuff in the background.

In the example posted on the Github link above, I demonstrate how we can use ESP8266 to read and write into a cell of Google Sheets. Then we fetch Google calendar data and then keep writing device information into Google Sheets.

With HTTSPRedirect V2, most of the library code base has been re-written. You can check out the detailed Readme on github. But to cut a long story short:

V2 has been made fully generic – you can communicate with Google or any other cloud service. The code base has been rewritten to include a complete HTTP client which correctly parses data send and received from the remote server.

It can now perform GET and POST requests following HTTP/1.1 spec accurately. Both bulk and chunked encoding supported.

I’ve tried to keep the API easy to understand. I’ll also be writing a new library for more support functions to communicate easily with Google Sheets API. Coming soon… 🙂

Please send me your feedback. Happy Gudi Padwa to all!

Advertisements

Things I’ve been reading about

C++11:

  • Rvalue reference and move semantics
  • perfect forwarding, noexcept
  • ‘auto’, for-loop by range
  • initializer lists, lambdas

Javascript:

  • asynchronous calls, callbacks, events
  • AJAX requests, JSONP, Cross-origin Resource Sharing (CORS)
  • closures

Google Apps Script, CSS/Bootstrap

ABI, vtables, stack padding, C++ name mangling  …

My head is spinning 😱

 

Who calls your main()?

I was curious as how to a C program in executed by the OS and came across this interesting article:

Create your C library
The file “crt0” is created during the linking stage, which sets up the working environment and finally calls the main() within the program. The  _start function is able to set up the standard library, call the global constructors, and call exit(main(argc, argv)).