jobhunt-platform/packages/connectors/tests/fixtures/cloudflare_challenge.html
hermes 0e13ee5d51 feat(W1): packages/connectors - AF API, generic URL, dedupe, normalizer
- Connector protocol with fetch(query: SearchQuery) -> list[RawPosting]
- ArbetsformedlingenConnector: official Platsbanken API, field mapping
  (headline->title, employer.name->company, webpage_url->url,
  description.text->description, id->external_id), region mapping,
  polite User-Agent
- GenericUrlConnector: readability extraction (prefers main/article,
  strips nav/footer/script/style), title/company guess, Cloudflare
  challenge detection -> UnsupportedSite
- dedupe helper: (source, url) + external_id keying
- normalizer: RawPosting -> JobPosting (job_posting table shape)
- 37 tests, all passing, recorded fixtures (no live network)
- README with usage and mock examples
2026-07-30 18:23:24 +00:00

28 lines
No EOL
898 B
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>Just a moment...</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<style>
body { font-family: sans-serif; }
.cf-spinner { display: block; margin: 50px auto; }
</style>
</head>
<body>
<div id="cf-challenge-running">
<div class="cf-spinner"></div>
<h1>Just a moment...</h1>
<p>Don't refresh this page.</p>
</div>
<script src="/cdn-cgi/challenge-platform/h/b/cv/result/0" type="text/javascript"></script>
<script>
(function(){
var a = document.getElementById('cf-challenge-running');
a.style.display = 'none';
// challenge-platform code
window._cf_chl_opt = {cfRay: 'abc123-xyz789'};
})();
</script>
</body>
</html>