Thing is, there are currently 0 providers that are cache header aware, and even if the actual data required to generate a onebox is usually much smaller, we are still talking pretty tiny payloads of view.
Regardless, I am totally happy to nuke this built in caching, because I find it super complicated to follow in the code and just have preview return all the data required to make the decisions.
Onebox.preview("http://xyz") =>
{
data: {} # raw data used to render the onebox,
valid_till: ... # optionally return when it is valid till
etc...
}
Then you can cache data in the consumer, and call preview forcing data if you wish to bypass http
Feel free to work on a PR in this direction I think it is a valid change