Revamping googleapis bindings; overloading `[] ?

"Stephen R. van den Berg" <[email protected]> Tue, 21 May 2019 15:56:37 +0200
Newsgroups gmane.comp.lang.pike.devel,gmane.comp.lang.pike.user
Message-ID <[email protected]>
After some tinkering with the current Google API integration code, I can
conclude the following:
a. The currently implemented interface in Pike is skimpy at best (it covers
   less than 1% of the total available interfaces).
b. The current implementation uses outdated interface versions
   (oauth v1 instead of v2, and token interface v1 instead of v4).
c. The current implementation still defaults to Google Plus (which has been
   closed down).

So, I was trying my hand at some Google API integration code that makes
use of the JSON-discovery documents Google makes available.
This way the interface will cover 100% of all available Google API calls,
and will always be current (it will then even support alpha and beta
interfaces).

In doing so, I tried to get rid of one level of indirection, by overloading
the `-> and `[] operators.  But this still seems to result in something
that does not play well with classes we inherit from.
Any suggestions here?  Or should I simply stick in a member called "resrc"
to make the jump to the dynamically loaded resources and methods?

P.S. The reason I'm implementing this is because I'm in the process
of creating a webcrawler that crawls like Googlebot (which includes
Javascript parsing, but with Googlebot rules).  And to run this in a way
that scales, I need to autoscale a farm of Google Compute Engines up and
down, which requires fast Google API access.
-- 
Stephen.