{"title":"Blacklight Inspection","page_title":"So long, and thanks for all the bits","uri_ins":"http://jamejone.github.io/","uri_dest":"https://jamejone.github.io/","uri_redirects":["http://jamejone.github.io/"],"secure_connection":{},"host":"jamejone.github.io","config":{"emulateDevice":{"name":"iPhone 11 Pro Max","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1","viewport":{"width":414,"height":896,"deviceScaleFactor":3,"isMobile":true,"hasTouch":true,"isLandscape":false}},"cleareCache":true,"captureHar":true,"captureLinks":false,"enableAdBlock":false,"saveBrowserProfile":false,"numPages":2,"defaultTimeout":35000,"defaultWaitUntil":"networkidle2","headless":true,"headers":{},"extraChromiumArgs":["--disable-features=TrackingProtection3pcd","--website-analysis-scan=ae84719d-cccb-4ced-b267-fbf7807183af"],"extraPuppeteerOptions":{}},"browser":{"name":"Chromium","version":"Chrome/127.0.6533.88","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/127.0.0.0 Safari/537.36","platform":{"name":"Linux","version":"6.6.87.1-microsoft-standard-WSL2"}},"script":{"host":"aa2e6fc3216c","version":{"npm":"3.11.0","commit":"dev"},"node_version":"v24.20.0"},"start_time":"2026-09-09T10:03:59.131Z","end_time":"2026-09-09T10:04:07.657Z","browsing_history":["https://jamejone.github.io/","https://jamejone.github.io/2019/11/14/temporal-repository-implementation-using-mongodb-and-aspnet-core/","https://jamejone.github.io/2019/03/02/put-your-aspnet-core-controller-on-a-diet-with-middleware/"],"hosts":{"requests":{"first_party":["jamejone.github.io"],"third_party":["cdn.carbonads.com","www.googletagmanager.com","srv.carbonads.net","region1.google-analytics.com","utteranc.es"]}},"reports":{"behaviour_event_listeners":{"MOUSE":{"https://www.googletagmanager.com/gtag/js?id=G-MYYT4724GY":["click"]}},"canvas_fingerprinters":{"data_url":{},"fingerprinters":[],"styles":{},"texts":{}},"canvas_font_fingerprinters":{"canvas_font":{},"text_measure":{}},"cookies":[{"name":"_ga_MYYT4724GY","value":"GS2.1.s1788948244$o1$g0$t1788948244$j60$l0$h0","domain":"jamejone.github.io","path":"/","expires":"2027-10-14T10:04:04.868Z","size":59,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false},{"name":"_ga","value":"GA1.1.1082510029.1788948245","domain":"jamejone.github.io","path":"/","expires":"2027-10-14T10:04:04.870Z","size":30,"httpOnly":false,"secure":false,"session":false,"priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"unknown","third_party":false}],"fb_pixel_events":[],"tiktok_pixel_events":[],"twitter_pixel_events":[],"google_analytics_events":[],"key_logging":{},"session_recorders":{},"third_party_trackers":[{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_ee":1,"_fv":1,"_nsi":1,"_p":1788948244718,"_s":1,"_ss":1,"are":1,"cid":1082510029.1788948,"dl":"https://jamejone.github.io/2019/03/02/put-your-aspnet-core-controller-on-a-diet-with-middleware/","dma":1,"dma_cps":"a","dt":"Put your ASP.NET Core controller on a diet with middleware | So long, and thanks for all the bits","en":"page_view","frm":0,"gcd":"13l3l3l2l1l1","gtm":"45je6930v885962921za200zd885962921","npa":1,"pscdl":"","rcb":5,"sct":1,"seg":0,"sid":1788948244,"sr":"414x896","tag_exp":"115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~120914214","tfd":298,"tid":"G-MYYT4724GY","uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"ul":"en-us","v":2}},"stack":[{"fileName":"https://jamejone.github.io/2019/03/02/put-your-aspnet-core-controller-on-a-diet-with-middleware/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://region1.google-analytics.com/g/collect?v=2&tid=G-MYYT4724GY&gtm=45je6930v885962921za200zd885962921&_p=1788948244718&gcd=13l3l3l2l1l1&npa=1&dma_cps=a&dma=1&are=1&cid=1082510029.1788948245&frm=0&pscdl=&rcb=5&sr=414x896&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115938466~115938469~118897920~118897930~120213116~120385422~120469145~120469153~120914214&sid=1788948244&sct=1&seg=0&dl=https%3A%2F%2Fjamejone.github.io%2F2019%2F03%2F02%2Fput-your-aspnet-core-controller-on-a-diet-with-middleware%2F&dt=Put%20your%20ASP.NET%20Core%20controller%20on%20a%20diet%20with%20middleware%20%7C%20So%20long%2C%20and%20thanks%20for%20all%20the%20bits&en=page_view&_fv=1&_nsi=1&_ss=1&_ee=1&tfd=298"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"id":"G-MYYT4724GY"}},"stack":[{"fileName":"https://jamejone.github.io/2019/03/02/put-your-aspnet-core-controller-on-a-diet-with-middleware/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-MYYT4724GY"},{"data":{"body":{},"filter":"||carbonads.com^","listName":"easylist.txt","query":{"placement":"blogcumulosoftwarecom","serve":"CE7IT2JE"}},"stack":[{"fileName":"https://jamejone.github.io/2019/03/02/put-your-aspnet-core-controller-on-a-diet-with-middleware/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cdn.carbonads.com/carbon.js?serve=CE7IT2JE&placement=blogcumulosoftwarecom"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_ee":1,"_fv":1,"_nsi":1,"_p":1788948241649,"_s":1,"_ss":1,"are":1,"cid":1546855883.1788948,"dl":"https://jamejone.github.io/2019/11/14/temporal-repository-implementation-using-mongodb-and-aspnet-core/","dma":1,"dma_cps":"a","dt":"Temporal repository implementation using MongoDB and ASP.NET Core | So long, and thanks for all the bits","en":"page_view","frm":0,"gcd":"13l3l3l2l1l1","gtm":"45je6930h1v885962921za200zd885962921","npa":1,"pscdl":"","rcb":10,"sct":1,"seg":0,"sid":1788948241,"sr":"414x896","tag_exp":"115616986~115938466~115938468~118897920~118897930~120213116~120385422~120412528~120469145~120469153","tfd":317,"tid":"G-MYYT4724GY","uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"ul":"en-us","v":2}},"stack":[{"fileName":"https://jamejone.github.io/2019/11/14/temporal-repository-implementation-using-mongodb-and-aspnet-core/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://region1.google-analytics.com/g/collect?v=2&tid=G-MYYT4724GY&gtm=45je6930h1v885962921za200zd885962921&_p=1788948241649&gcd=13l3l3l2l1l1&npa=1&dma_cps=a&dma=1&are=1&cid=1546855883.1788948242&frm=0&pscdl=&rcb=10&sr=414x896&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115616986~115938466~115938468~118897920~118897930~120213116~120385422~120412528~120469145~120469153&sid=1788948241&sct=1&seg=0&dl=https%3A%2F%2Fjamejone.github.io%2F2019%2F11%2F14%2Ftemporal-repository-implementation-using-mongodb-and-aspnet-core%2F&dt=Temporal%20repository%20implementation%20using%20MongoDB%20and%20ASP.NET%20Core%20%7C%20So%20long%2C%20and%20thanks%20for%20all%20the%20bits&en=page_view&_fv=1&_nsi=1&_ss=1&_ee=1&tfd=317"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"id":"G-MYYT4724GY"}},"stack":[{"fileName":"https://jamejone.github.io/2019/11/14/temporal-repository-implementation-using-mongodb-and-aspnet-core/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-MYYT4724GY"},{"data":{"body":{},"filter":"||carbonads.com^","listName":"easylist.txt","query":{"placement":"blogcumulosoftwarecom","serve":"CE7IT2JE"}},"stack":[{"fileName":"https://jamejone.github.io/2019/11/14/temporal-repository-implementation-using-mongodb-and-aspnet-core/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cdn.carbonads.com/carbon.js?serve=CE7IT2JE&placement=blogcumulosoftwarecom"},{"data":{"body":{},"filter":"||google-analytics.com^$third-party","listName":"easyprivacy.txt","query":{"_ee":1,"_fv":1,"_nsi":1,"_p":1788948239361,"_s":1,"_ss":1,"are":1,"cid":681289910.1788949,"dl":"https://jamejone.github.io/","dma":1,"dma_cps":"a","dt":"So long, and thanks for all the bits","en":"page_view","frm":0,"gcd":"13l3l3l2l1l1","gtm":"45je6930h1v885962921za200zd885962921","npa":1,"pscdl":"","rcb":9,"sct":1,"seg":0,"sid":1788948239,"sr":"414x896","tag_exp":"115938466~115938469~118897920~118897930~120213116~120385423~120469145~120469153","tfd":273,"tid":"G-MYYT4724GY","uaa":"","uab":"","uafvl":"","uam":"","uamb":0,"uap":"","uapv":"","uaw":0,"ul":"en-us","v":2}},"stack":[{"fileName":"https://jamejone.github.io/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://region1.google-analytics.com/g/collect?v=2&tid=G-MYYT4724GY&gtm=45je6930h1v885962921za200zd885962921&_p=1788948239361&gcd=13l3l3l2l1l1&npa=1&dma_cps=a&dma=1&are=1&cid=681289910.1788948240&frm=0&pscdl=&rcb=9&sr=414x896&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115938466~115938469~118897920~118897930~120213116~120385423~120469145~120469153&sid=1788948239&sct=1&seg=0&dl=https%3A%2F%2Fjamejone.github.io%2F&dt=So%20long%2C%20and%20thanks%20for%20all%20the%20bits&en=page_view&_fv=1&_nsi=1&_ss=1&_ee=1&tfd=273"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"id":"G-MYYT4724GY"}},"stack":[{"fileName":"https://jamejone.github.io/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-MYYT4724GY"},{"data":{"body":{},"filter":"||carbonads.com^","listName":"easylist.txt","query":{"placement":"blogcumulosoftwarecom","serve":"CE7IT2JE"}},"stack":[{"fileName":"https://jamejone.github.io/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cdn.carbonads.com/carbon.js?serve=CE7IT2JE&placement=blogcumulosoftwarecom"}]}}