sandboxed-api/oss-internship-2020/curl/examples
Christian Blichmann 9331eabd7e Copybara import of the project:
Including changes for GitHub -> internal migration

--
b5d7e43dde by Federico Stazi <34340238+FedericoStazi@users.noreply.github.com>:

Initial curl commit
--
24786c44d8 by Federico Stazi <fstazi@google.com>:

Added gitignore and curl submodule

--
6d5cfd575a by Federico Stazi <fstazi@google.com>:

Added new line at the end of files

--
c7423c5f8a by Federico Stazi <fstazi@google.com>:

Remove SHARED from add_sapi_library

--
05c0a4b004 by Federico Stazi <fstazi@google.com>:

Fix includes

--
5be51fabbe by Federico Stazi <fstazi@google.com>:

Improve comments

--
34338411b8 by Federico Stazi <fstazi@google.com>:

Improve style

--
8c68ac221f by Federico Stazi <fstazi@google.com>:

Address review comments

--
ac1112ae4d by Federico Stazi <fstazi@google.com>:

Minor fix

--
f47e1cc6ac by Federico Stazi <fstazi@google.com>:

Implement all curl methods

--
9291231275 by Federico Stazi <fstazi@google.com>:

Address reviews and improve code style

--
1b0a8edfd4 by Federico Stazi <fstazi@google.com>:

Minor fix

--
cea046d3e2 by Federico Stazi <fstazi@google.com>:

Implement stricter policy

--
cf23888b88 by Federico Stazi <fstazi@google.com>:

Improve and extend examples

--
6167cafbde by Federico Stazi <fstazi@google.com>:

Implement tests

--
9fed2ec097 by Federico Stazi <fstazi@google.com>:

Improved error handling

--
e446ec81a1 by Federico Stazi <fstazi@google.com>:

Address review comments

--
cf41ec4701 by Federico Stazi <34340238+FedericoStazi@users.noreply.github.com>:

Fix project name
--
9a4293a3cf by Federico Stazi <fstazi@google.com>:

Fix project name

--
bbebeee1a6 by Federico Stazi <fstazi@google.com>:

Fix test mock server

--
eb783de3f5 by Federico Stazi <fstazi@google.com>:

Address review comments

--
cf6cb89bca by Federico Stazi <fstazi@google.com>:

Minor mock server fix

--
b52d9e6e4f by Federico Stazi <fstazi@google.com>:

Address review comments

PiperOrigin-RevId: 333292204
Change-Id: I9ff27348028d9f22486492dc92c0859ff8f44d68
2020-09-23 08:00:10 -07:00
..
CMakeLists.txt Copybara import of the project: 2020-09-23 08:00:10 -07:00
example1.cc Copybara import of the project: 2020-09-23 08:00:10 -07:00
example2.cc Copybara import of the project: 2020-09-23 08:00:10 -07:00
example3.cc Copybara import of the project: 2020-09-23 08:00:10 -07:00
example4.cc Copybara import of the project: 2020-09-23 08:00:10 -07:00
example5.cc Copybara import of the project: 2020-09-23 08:00:10 -07:00
example6.cc Copybara import of the project: 2020-09-23 08:00:10 -07:00
README.md Copybara import of the project: 2020-09-23 08:00:10 -07:00

LibCurl Sandbox Examples

Each example in this folder is the sandboxed version of a code snippet from this page on curl's website. These examples perform some basic tasks using libcurl, and can be useful both to understand how to use LibCurl Sandbox, but also to get an idea of how regular and sandboxed code compare to each other.

This is the list of the examples:

  • example1: sandboxed version of simple.c. Really simple HTTP request, downloads and prints out the page at example.com.
  • example2: sandboxed version of getinmemory.c. Same HTTP request as example1. The difference is that this example uses a callback to save the page directly in memory. Only the page size is printed out.
  • example3: sandboxed version of simplessl.c. HTTPS request of the example.com page, using SSL authentication. This script takes 4 arguments (SSL certificates file, SSL keys file, SSL keys password and CA certificates files), and prints out the page.
  • example4: sandboxed version of multi-poll.c. Same HTTP request as example1, with the addition of a polling method that can be used to track the status of the request. The page is printed out after it is downloaded.
  • example5: sandboxed version of multithread.c. Four HTTP request of the pages example.com, example.edu, example.net and example.org, performed at the same time using libcurl's multithreading methods. The pages are printed out.
  • example6: sandboxed version of simple.c. Performs the same tasks as example1, but Sandbox API Transactions are used to show how they can be used to perform a simple request.