### Method

# Ggit Remote connect

#### Declaration [src]

    void
    ggit_remote_connect (
      GgitRemote* remote,
      GgitDirection direction,
      GgitRemoteCallbacks* callbacks,
      GgitProxyOptions* proxy_options,
      const gchar* const* custom_headers,
      GError** error
    )

#### Description [src]

Opens a connection to a remote. The transport is selected based on the URL. The direction argument is due to a limitation of the git protocol (over TCP or SSH) which starts up a specific binary which can only do the one or the other.

#### Parameters

`direction`

  Type: `GgitDirection`

  Whether you want to receive or send data.

`callbacks`

  Type: `GgitRemoteCallbacks`

  The callbacks to use for this connection.

  The data is owned by the caller of the method.

`proxy_options`

  Type: `GgitProxyOptions`

  The proxy options.

  The argument can be `NULL`.
  The data is owned by the caller of the method.

`custom_headers`

  Type: `const gchar* const*`

  Extra HTTP headers to use in this connection.

  The argument can be `NULL`.
  The data is owned by the caller of the method.
  The value is a NUL terminated UTF-8 string.

`error`

  Type: `GError **`

  The return location for a recoverable error.

  The argument can be `NULL`.
  If the return location is not `NULL`, then you must initialize it to a `NULL` `GError*`.
  The argument will be left initialized to `NULL` by the method if there are no errors.
  In case of error, the argument will be set to a newly allocated `GError`; the caller will take ownership of the data, and be responsible for freeing it.