# curlhttpsink

This is a network sink that uses libcurl as a client to upload data to an HTTP server.

## Example launch line

Upload a JPEG file to an HTTP server.

     gst-launch-1.0 filesrc location=image.jpg ! jpegparse ! curlhttpsink  \
         file-name=image.jpg  \
         location=http://192.168.0.1:8080/cgi-bin/patupload.cgi/  \
         user=test passwd=test  \
         content-type=image/jpeg  \
         use-content-length=false

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseSink
                        ╰──GstCurlBaseSink
                            ╰──GstCurlTlsSink
                                ╰──curlhttpsink

## Factory details

Authors: – Patricia Muscalu

Classification: – `Sink/Network`

Rank – none

Plugin – curl

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    ANY

Presence – always

Direction – sink

Object type – GstPad

## Properties

### content-type

    “content-type” gchararray

The mime type of the body of the request

Flags : Read / Write

Default value : NULL

### proxy

    “proxy” gchararray

HTTP proxy server URI

Flags : Read / Write

Default value : NULL

### proxy-passwd

    “proxy-passwd” gchararray

Proxy user password to use for proxy authentication

Flags : Read / Write

Default value : NULL

### proxy-port

    “proxy-port” gint

HTTP proxy server port

Flags : Read / Write

Default value : 3128

### proxy-user

    “proxy-user” gchararray

Proxy user name to use for proxy authentication

Flags : Read / Write

Default value : NULL

### use-content-length

    “use-content-length” gboolean

Use the Content-Length HTTP header instead of Transfer-Encoding header

Flags : Read / Write

Default value : false

The results of the search are