OK after long tests StoreID works for both mem and UFS store.
I solved and marked all mismatching tests and for now it seems to work perfectrly:

The scenario I have been using is .ytimg.com domain.
It hosts many jpg pictures on different CDN's.
the examples are:
http://i2.ytimg.com/vi/Vo0Cazxj_yc/default.jpg
The ID of the img is the uri_path "/vi/Vo0Cazxj_yc/default.jpg"
The domain is a subdomain of ytimg.
so my match would be all subdomains of ytimg -> ytimg.squid.internal/url_location.


the reuslt is:
http://i2.ytimg.com/vi/Vo0Cazxj_yc/default.jpg == http://i2000.ytimg.com/vi/Vo0Cazxj_yc/default.jpg == http://abc555.ytimg.com/vi/Vo0Cazxj_yc/default.jpg

This is a basic cdn example.

They idea pseudo for now is:
store the storeID in request from the helper.
next after all callouts from helpers and adaptation move store it in the ClientHttpRequest->store_id. Then on StoreEntry creation use the store_id instead of ClientHttpRequest->uri.

this solves almost anything related to "mem-obj->url" and will force changing it to "mem-obj->store_id".

Adding couple specific checks to point into the store_id will make the feature integration the least invasive to store and other code in squid.

The helper code for now Is too much for me and I will get back to it when later Amos will have more time and This part of the patch will be ready steady and documented.

In the mean while I will write in the wiki more about the feature.

Eliezer
--
Eliezer Croitoru
https://www1.ngtech.co.il
sip:[email protected]
IT consulting for Nonprofit organizations
eliezer <at> ngtech.co.il

Reply via email to