{"title":"Blacklight Inspection","page_title":".NET, Visual Studio and Entity Framework blog","uri_ins":"http://davecallan.com/","uri_dest":"https://davecallan.com/","uri_redirects":["http://davecallan.com/"],"secure_connection":{},"host":"davecallan.com","config":{"emulateDevice":{"name":"iPhone 14 Pro Max","userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1","viewport":{"width":430,"height":739,"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=76019582-d727-42cd-b4e5-4bde858e1b72"],"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":"27f34b741838","version":{"npm":"3.11.0","commit":"dev"},"node_version":"v24.20.0"},"start_time":"2026-09-08T17:58:41.788Z","end_time":"2026-09-08T17:58:57.015Z","browsing_history":["https://davecallan.com/","https://davecallan.com/category/web-application-security/","https://davecallan.com/what-are-discriminated-unions/"],"hosts":{"requests":{"first_party":["davecallan.com"],"third_party":["cdn-cookieyes.com","www.googletagmanager.com","fonts.googleapis.com","log.cookieyes.com","fonts.gstatic.com"]}},"reports":{"behaviour_event_listeners":{"MOUSE":{"https://davecallan.com/wp-content/plugins/autoptimize/classes/external/js/lazysizes.min.js?ao_version=3.1.13":["scroll","click"],"https://davecallan.com/wp-content/cache/autoptimize/js/autoptimize_b138449190c389a852a66b06ebae66fa.js":["scroll","mousemove","mouseup","mousedown"],"https://davecallan.com/wp-content/cache/autoptimize/js/autoptimize_938da78231e6fbe9078bd82ea687adfd.js":["scroll"]},"TOUCH":{"https://davecallan.com/wp-content/cache/autoptimize/js/autoptimize_b138449190c389a852a66b06ebae66fa.js":["touchend","touchstart","touchmove"]}},"canvas_fingerprinters":{"data_url":{},"fingerprinters":[],"styles":{},"texts":{}},"canvas_font_fingerprinters":{"canvas_font":{},"text_measure":{}},"cookies":[{"name":"cookieyes-consent","value":"consentid:THNYMWxKaFpJaFNZMERybG1SVGxJSzF6UUNjcGVzVVY,consent:no,action:,necessary:yes,functional:no,analytics:no,performance:no,advertisement:no,other:no","domain":"davecallan.com","path":"/","expires":"2027-09-08T17:58:52.000Z","size":171,"httpOnly":false,"secure":true,"session":false,"sameSite":"Strict","priority":"Medium","sameParty":false,"sourceScheme":"Secure","sourcePort":443,"type":"js","third_party":false}],"fb_pixel_events":[],"tiktok_pixel_events":[],"twitter_pixel_events":[],"google_analytics_events":[],"key_logging":{},"session_recorders":{},"third_party_trackers":[{"data":{"body":"------WebKitFormBoundaryKZn9GZjz5OSaxWAZ\r\nContent-Disposition: form-data; name=\"key\"\r\n\r\n98d318bd5128a6f5fbb7fc79\r\n------WebKitFormBoundaryKZn9GZjz5OSaxWAZ\r\nContent-Disposition: form-data; name=\"request_type\"\r\n\r\nbanner_view\r\n------WebKitFormBoundaryKZn9GZjz5OSaxWAZ\r\nContent-Disposition: form-data; name=\"event_log_time\"\r\n\r\n1788890332\r\n------WebKitFormBoundaryKZn9GZjz5OSaxWAZ\r\nContent-Disposition: form-data; name=\"payload\"\r\n\r\n{\"consent_session_id\":\"THNYMWxKaFpJaFNZMERybG1SVGxJSzF6UUNjcGVzVVY\",\"banner_id\":\"FfV547mt\"}\r\n------WebKitFormBoundaryKZn9GZjz5OSaxWAZ--\r\n","filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://davecallan.com/what-are-discriminated-unions/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://log.cookieyes.com/api/v1/log"},{"data":{"body":"------WebKitFormBoundary8i84uT27bbtSJzpn\r\nContent-Disposition: form-data; name=\"key\"\r\n\r\n98d318bd5128a6f5fbb7fc79\r\n------WebKitFormBoundary8i84uT27bbtSJzpn\r\nContent-Disposition: form-data; name=\"request_type\"\r\n\r\nbanner_load\r\n------WebKitFormBoundary8i84uT27bbtSJzpn\r\nContent-Disposition: form-data; name=\"event_log_time\"\r\n\r\n1788890332\r\n------WebKitFormBoundary8i84uT27bbtSJzpn\r\nContent-Disposition: form-data; name=\"payload\"\r\n\r\n{\"consent_session_id\":\"THNYMWxKaFpJaFNZMERybG1SVGxJSzF6UUNjcGVzVVY\",\"banner_id\":\"\"}\r\n------WebKitFormBoundary8i84uT27bbtSJzpn--\r\n","filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://davecallan.com/what-are-discriminated-unions/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://log.cookieyes.com/api/v1/log"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"id":"G-08JPG8152Z"}},"stack":[{"fileName":"https://davecallan.com/what-are-discriminated-unions/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-08JPG8152Z"},{"data":{"body":"------WebKitFormBoundarycOV2kuqAHP6VXU7A\r\nContent-Disposition: form-data; name=\"key\"\r\n\r\n98d318bd5128a6f5fbb7fc79\r\n------WebKitFormBoundarycOV2kuqAHP6VXU7A\r\nContent-Disposition: form-data; name=\"request_type\"\r\n\r\nbanner_view\r\n------WebKitFormBoundarycOV2kuqAHP6VXU7A\r\nContent-Disposition: form-data; name=\"event_log_time\"\r\n\r\n1788890327\r\n------WebKitFormBoundarycOV2kuqAHP6VXU7A\r\nContent-Disposition: form-data; name=\"payload\"\r\n\r\n{\"consent_session_id\":\"SjhETmM0TXN2ZG1mTHZaUFlhUWtKNDlrclc0ZzJuSlA\",\"banner_id\":\"FfV547mt\"}\r\n------WebKitFormBoundarycOV2kuqAHP6VXU7A--\r\n","filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://davecallan.com/category/web-application-security/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://log.cookieyes.com/api/v1/log"},{"data":{"body":"------WebKitFormBoundaryEUEv6dOZ6E6BZEtN\r\nContent-Disposition: form-data; name=\"key\"\r\n\r\n98d318bd5128a6f5fbb7fc79\r\n------WebKitFormBoundaryEUEv6dOZ6E6BZEtN\r\nContent-Disposition: form-data; name=\"request_type\"\r\n\r\nbanner_load\r\n------WebKitFormBoundaryEUEv6dOZ6E6BZEtN\r\nContent-Disposition: form-data; name=\"event_log_time\"\r\n\r\n1788890327\r\n------WebKitFormBoundaryEUEv6dOZ6E6BZEtN\r\nContent-Disposition: form-data; name=\"payload\"\r\n\r\n{\"consent_session_id\":\"SjhETmM0TXN2ZG1mTHZaUFlhUWtKNDlrclc0ZzJuSlA\",\"banner_id\":\"\"}\r\n------WebKitFormBoundaryEUEv6dOZ6E6BZEtN--\r\n","filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://davecallan.com/category/web-application-security/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://log.cookieyes.com/api/v1/log"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"id":"G-08JPG8152Z"}},"stack":[{"fileName":"https://davecallan.com/category/web-application-security/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-08JPG8152Z"},{"data":{"body":"------WebKitFormBoundarySBxND3zAdgcpQL2o\r\nContent-Disposition: form-data; name=\"key\"\r\n\r\n98d318bd5128a6f5fbb7fc79\r\n------WebKitFormBoundarySBxND3zAdgcpQL2o\r\nContent-Disposition: form-data; name=\"request_type\"\r\n\r\nbanner_view\r\n------WebKitFormBoundarySBxND3zAdgcpQL2o\r\nContent-Disposition: form-data; name=\"event_log_time\"\r\n\r\n1788890324\r\n------WebKitFormBoundarySBxND3zAdgcpQL2o\r\nContent-Disposition: form-data; name=\"payload\"\r\n\r\n{\"consent_session_id\":\"S3pNOVVEeDhZRzVaVXpyZ2laVmtCa2xlbWxLbE5JaWY\",\"banner_id\":\"FfV547mt\"}\r\n------WebKitFormBoundarySBxND3zAdgcpQL2o--\r\n","filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://davecallan.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://log.cookieyes.com/api/v1/log"},{"data":{"body":"------WebKitFormBoundaryoOY6izxmkSfzrPi8\r\nContent-Disposition: form-data; name=\"key\"\r\n\r\n98d318bd5128a6f5fbb7fc79\r\n------WebKitFormBoundaryoOY6izxmkSfzrPi8\r\nContent-Disposition: form-data; name=\"request_type\"\r\n\r\nbanner_load\r\n------WebKitFormBoundaryoOY6izxmkSfzrPi8\r\nContent-Disposition: form-data; name=\"event_log_time\"\r\n\r\n1788890322\r\n------WebKitFormBoundaryoOY6izxmkSfzrPi8\r\nContent-Disposition: form-data; name=\"payload\"\r\n\r\n{\"consent_session_id\":\"S3pNOVVEeDhZRzVaVXpyZ2laVmtCa2xlbWxLbE5JaWY\",\"banner_id\":\"\"}\r\n------WebKitFormBoundaryoOY6izxmkSfzrPi8--\r\n","filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://davecallan.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://log.cookieyes.com/api/v1/log"},{"data":{"body":{},"filter":"||googletagmanager.com^","listName":"easyprivacy.txt","query":{"id":"G-08JPG8152Z"}},"stack":[{"fileName":"https://davecallan.com/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://www.googletagmanager.com/gtag/js?id=G-08JPG8152Z"}]}}