{"id":13420506,"url":"https://github.com/varnish/libvmod-curl","last_synced_at":"2025-04-25T23:31:11.963Z","repository":{"id":1597331,"uuid":"2147321","full_name":"varnish/libvmod-curl","owner":"varnish","description":"cURL Varnish bindings by Varnish Software","archived":false,"fork":false,"pushed_at":"2023-11-20T19:14:14.000Z","size":187,"stargazers_count":48,"open_issues_count":1,"forks_count":38,"subscribers_count":27,"default_branch":"master","last_synced_at":"2024-05-20T04:11:33.982Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/varnish.png","metadata":{"files":{"readme":"README.rst","changelog":"CHANGES.rst","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-08-03T07:48:10.000Z","updated_at":"2024-07-31T00:49:57.272Z","dependencies_parsed_at":"2024-07-31T00:49:56.463Z","dependency_job_id":"3b734e68-22e3-4a69-a35d-8cbe1d3fae52","html_url":"https://github.com/varnish/libvmod-curl","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varnish%2Flibvmod-curl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varnish%2Flibvmod-curl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varnish%2Flibvmod-curl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/varnish%2Flibvmod-curl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/varnish","download_url":"https://codeload.github.com/varnish/libvmod-curl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250912660,"owners_count":21506865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T22:01:35.104Z","updated_at":"2025-04-25T23:31:11.509Z","avatar_url":"https://github.com/varnish.png","language":"C","readme":"\n.. image:: https://travis-ci.org/varnish/libvmod-curl.svg?branch=master\n   :alt: Travis CI badge\n   :target: https://travis-ci.org/varnish/libvmod-curl/\n\nThis vmod provides cURL bindings for Varnish so you can use Varnish\nas an HTTP client and fetch headers and bodies from backends.\n\nWARNING: Using vmod-curl to connect to HTTPS sites is currently unsupported\nand may lead to segmentation faults on VCL load/unload. (openssl library\nintricacies)\n\nInstallation\n============\n\nSource releases can be downloaded from:\n\n    https://download.varnish-software.com/libvmod-curl/\n\nInstallation requires an installed version of Varnish Cache, including the\ndevelopment files. Requirements can be found in the `Varnish documentation`_.\n\n.. _`Varnish documentation`: https://www.varnish-cache.org/docs/4.1/installation/install.html#compiling-varnish-from-source\n.. _`Varnish Project packages`: https://www.varnish-cache.org/releases/index.html\n\nSource code is built with autotools, you need to install the correct\ndevelopment packages first.\nIf you are using the official `Varnish Project packages`_::\n\n    sudo apt install varnish-dev || sudo yum install varnish-devel\n\nIf you are using the distro provided packages::\n\n    sudo apt install libvarnishapi-dev || sudo yum install varnish-libs-devel\n\nIn both cases, you also need the libcurl development package::\n\n    sudo apt install libcurl4-openssl-dev || sudo yum install libcurl-devel\n\nThen proceed to the configure and build::\n\n    ./configure\n    make\n    make check   # optional\n    sudo make install\n\nThe resulting loadable modules (``libvmod_*.so`` files) will be installed to\nthe Varnish module directory. (default `/usr/lib/varnish/vmods/`)\n\nUsage\n=====\n\nTo use the vmod do something along the lines of::\n\n\timport curl;\n\n\tsub vcl_recv {\n\t\tcurl.get(\"http://example.com/test\");\n\t\tif (curl.header(\"X-Foo\") == \"bar\") {\n\t\t...\n\t\t}\n\n\t\tcurl.free();\n\t}\n\n\nSee src/vmod_curl.vcc for the rest of the callable functions.\n\nDevelopment\n===========\n\nThe source git tree lives on Github: https://github.com/varnish/libvmod-curl\n\nAll source code is placed in the master git branch. Pull requests and issue\nreporting are appreciated.\n\nUnlike building from releases, you need to first bootstrap the build system\nwhen you work from git. In addition to the dependencies mentioned in the\ninstallation section, you also need to install the build tools::\n\n    sudo apt-get automake autotools-dev python-docutils\n\nThen build the vmod::\n\n    ./autogen.sh\n    ./configure\n    make\n    make check # recommended\n\nIf the ``configure`` step succeeds but the ``make`` step fails, check for\nwarnings in the ``./configure`` output or the ``config.log`` file. You may be\nmissing bootstrap dependencies not required by release archives.\n\nIf you have installed Varnish to a non-standard directory, call ``autogen.sh``\nand ``configure`` with ``PKG_CONFIG_PATH`` and ``ACLOCAL_PATH`` pointing to\nthe appropriate path. For instance, when varnishd configure was called with\n``--prefix=$PREFIX``, use::\n\n    export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig\n    export ACLOCAL_PATH=$PREFIX/share/aclocal\n\n--\n\nDevelopment of this VMOD has been sponsored by the Norwegian company\nAspiro Music AS for usage on their WiMP music streaming service.\n\n.. _`Varnish Project packages`: https://www.varnish-cache.org/releases/index.html\n","funding_links":[],"categories":["TODO scan for Android support in followings"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvarnish%2Flibvmod-curl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvarnish%2Flibvmod-curl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvarnish%2Flibvmod-curl/lists"}