Current section

Files

Jump to
crawlberg lib crawlberg native.ex
Raw

lib/crawlberg/native.ex

# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:e0600612767fdd3d51e9128afdb0ffcd1fb490e9942f3839a5120ab7a4e3b658
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
defmodule Crawlberg.Native do
@moduledoc false
use RustlerPrecompiled,
otp_app: :crawlberg,
crate: "crawlberg_nif",
base_url: "https://github.com/xberg-io/crawlberg/releases/download/v#{Mix.Project.config()[:version]}",
version: Mix.Project.config()[:version],
targets: [
"x86_64-unknown-linux-gnu",
"aarch64-unknown-linux-gnu",
"x86_64-unknown-linux-musl",
"aarch64-unknown-linux-musl",
"aarch64-apple-darwin",
"x86_64-apple-darwin",
"x86_64-pc-windows-msvc"
],
nif_versions: ["2.16", "2.17"],
force_build: System.get_env("CRAWLBERG_BUILD") in ["1", "true"] or Mix.env() in [:dev]
@doc false
def set_env(_key, _value), do: :erlang.nif_error(:nif_not_loaded)
@doc """
Convert markdown links to numbered citations.
`[Example](https://example.com)` becomes `Example[1]`
with `[1]: https://example.com` in the reference list.
Images `![alt](url)` are preserved unchanged.
"""
def generate_citations(_markdown), do: :erlang.nif_error(:nif_not_loaded)
@doc """
Create a new crawl engine with the given configuration.
If `config` is `None`, uses [`CrawlConfig::default()`].
Returns an error if the configuration is invalid.
"""
def create_engine(_config), do: :erlang.nif_error(:nif_not_loaded)
@doc "Scrape a single URL, returning extracted page data."
def scrape_async(_engine, _url), do: :erlang.nif_error(:nif_not_loaded)
@doc "Crawl a website starting from `url`, following links up to the configured depth."
def crawl_async(_engine, _url), do: :erlang.nif_error(:nif_not_loaded)
@doc "Discover all pages on a website by following links and sitemaps."
def map_urls_async(_engine, _url), do: :erlang.nif_error(:nif_not_loaded)
@doc "Execute browser actions on a single page."
def interact_async(_engine, _url, _actions), do: :erlang.nif_error(:nif_not_loaded)
@doc "Scrape multiple URLs concurrently."
def batch_scrape_async(_engine, _urls), do: :erlang.nif_error(:nif_not_loaded)
@doc "Crawl multiple seed URLs concurrently, each following links to configured depth."
def batch_crawl_async(_engine, _urls), do: :erlang.nif_error(:nif_not_loaded)
def contentconfig_default, do: :erlang.nif_error(:nif_not_loaded)
def browserconfig_default, do: :erlang.nif_error(:nif_not_loaded)
def crawlconfig_default, do: :erlang.nif_error(:nif_not_loaded)
@doc "Validate the configuration, returning an error if any values are invalid."
def crawlconfig_validate(_obj), do: :erlang.nif_error(:nif_not_loaded)
@doc "Returns the count of unique normalized URLs encountered during crawling."
def crawlresult_unique_normalized_urls(_obj), do: :erlang.nif_error(:nif_not_loaded)
def ssrfpolicy_default, do: :erlang.nif_error(:nif_not_loaded)
@doc """
Create a policy from environment variables.
On native platforms, reads `CRAWLBERG_ALLOW_PRIVATE_NETWORK` — if set to "1" or "true"
(case-insensitive), sets `deny_private = false`. Otherwise, defaults to `deny_private = true`.
On wasm32 targets (browser/Node.js), environment variables are not accessible to the
compiled module. Defaults to `deny_private = false` because:
- Outbound requests in a browser go through the fetch API, which enforces its own network policies.
- Rust-side SSRF checking is unenforceable and redundant in a wasm32 context.
- For testing and localhost access, the host's network sandbox is the enforcing boundary.
"""
def ssrfpolicy_from_env, do: :erlang.nif_error(:nif_not_loaded)
@doc false
def crawlenginehandle_crawl_stream_start(_obj, _req), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def crawlenginehandle_crawl_stream_next(_handle), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def crawlenginehandle_batch_crawl_stream_start(_obj, _req), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def crawlenginehandle_batch_crawl_stream_next(_handle), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def extraction_meta_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def proxy_config_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def content_config_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def browser_config_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def crawl_config_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def browser_extras_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def downloaded_document_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def interaction_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def action_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def scrape_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def crawl_page_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def crawl_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def sitemap_url_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def map_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def markdown_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def link_info_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def image_info_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def feed_info_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def json_ld_entry_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def cookie_info_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def downloaded_asset_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def article_metadata_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def hreflang_entry_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def favicon_info_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def heading_info_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def response_meta_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def page_metadata_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def crawl_stream_request_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def batch_crawl_stream_request_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def citation_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def citation_reference_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def batch_scrape_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def batch_crawl_result_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def batch_scrape_results_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def batch_crawl_results_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
@doc false
def ssrf_policy_from_json(_json), do: :erlang.nif_error(:nif_not_loaded)
end