summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViktor Szakats <commit@vsz.me>2021-02-19 16:17:44 +0000
committerViktor Szakats <commit@vsz.me>2021-02-19 16:18:15 +0000
commitf65d7889b5c8eeefbb9f41c7588199be18b38a20 (patch)
tree7627b64fbd78695050707f235bc14b4aa100addd
parent44872aefc2d54f297caf2b0cc887df321bc9d791 (diff)
downloadcurl-f65d7889b5c8eeefbb9f41c7588199be18b38a20.tar.gz
http: add new files missed from referrer commit
Ref: 44872aefc2d54f297caf2b0cc887df321bc9d791 Ref: #6591
-rw-r--r--docs/examples/getreferrer.c57
-rw-r--r--docs/libcurl/opts/CURLINFO_REFERER.361
2 files changed, 118 insertions, 0 deletions
diff --git a/docs/examples/getreferrer.c b/docs/examples/getreferrer.c
new file mode 100644
index 000000000..faefc619a
--- /dev/null
+++ b/docs/examples/getreferrer.c
@@ -0,0 +1,57 @@
+/***************************************************************************
+ * _ _ ____ _
+ * Project ___| | | | _ \| |
+ * / __| | | | |_) | |
+ * | (__| |_| | _ <| |___
+ * \___|\___/|_| \_\_____|
+ *
+ * Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al.
+ *
+ * This software is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution. The terms
+ * are also available at https://curl.se/docs/copyright.html.
+ *
+ * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+ * copies of the Software, and permit persons to whom the Software is
+ * furnished to do so, under the terms of the COPYING file.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ***************************************************************************/
+/* <DESC>
+ * Show how to extract referrer header.
+ * </DESC>
+ */
+#include <stdio.h>
+#include <curl/curl.h>
+
+int main(void)
+{
+ CURL *curl;
+
+ curl = curl_easy_init();
+ if(curl) {
+ CURLcode res;
+
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+ curl_easy_setopt(curl, CURLOPT_REFERER, "https://example.org/referrer");
+
+ /* Perform the request, res will get the return code */
+ res = curl_easy_perform(curl);
+ /* Check for errors */
+ if(res != CURLE_OK)
+ fprintf(stderr, "curl_easy_perform() failed: %s\n",
+ curl_easy_strerror(res));
+ else {
+ char *hdr;
+ res = curl_easy_getinfo(curl, CURLINFO_REFERER, &hdr);
+ if((res == CURLE_OK) && hdr)
+ printf("Referrer header: %s\n", hdr);
+ }
+
+ /* always cleanup */
+ curl_easy_cleanup(curl);
+ }
+ return 0;
+}
diff --git a/docs/libcurl/opts/CURLINFO_REFERER.3 b/docs/libcurl/opts/CURLINFO_REFERER.3
new file mode 100644
index 000000000..e61df8453
--- /dev/null
+++ b/docs/libcurl/opts/CURLINFO_REFERER.3
@@ -0,0 +1,61 @@
+.\" **************************************************************************
+.\" * _ _ ____ _
+.\" * Project ___| | | | _ \| |
+.\" * / __| | | | |_) | |
+.\" * | (__| |_| | _ <| |___
+.\" * \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at https://curl.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
+.\"
+.TH CURLINFO_REFERER 3 "11 Feb 2021" "libcurl 7.76.0" "curl_easy_getinfo options"
+.SH NAME
+CURLINFO_REFERER \- get the referrer header
+.SH SYNOPSIS
+#include <curl/curl.h>
+
+CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_REFERER, char **hdrp);
+.SH DESCRIPTION
+Pass in a pointer to a char pointer and get the referrer header.
+
+The \fBhdrp\fP pointer will be NULL or pointing to private memory you MUST NOT
+free - it gets freed when you call \fIcurl_easy_cleanup(3)\fP on the
+corresponding CURL handle.
+.SH PROTOCOLS
+HTTP(S)
+.SH EXAMPLE
+.nf
+CURL *curl = curl_easy_init();
+if(curl) {
+ CURLcode res;
+ curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
+ curl_easy_setopt(curl, CURLOPT_REFERER, "https://example.org/referrer");
+ res = curl_easy_perform(curl);
+ if(res == CURLE_OK) {
+ char *hdr = NULL;
+ curl_easy_getinfo(curl, CURLINFO_REFERER, &hdr);
+ if(hdr)
+ printf("Referrer header: %s\\n", hdr);
+ }
+ curl_easy_cleanup(curl);
+}
+.fi
+.SH AVAILABILITY
+Added in 7.76.0
+.SH RETURN VALUE
+Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not.
+.SH "SEE ALSO"
+.BR curl_easy_getinfo "(3), " curl_easy_setopt "(3), "
+.BR CURLOPT_REFERER "(3), "