---
name: "Net::Trac::Connection"
section: "3pm"
platform: "linux"
package: "libnet-trac-perl"
version: "0.16-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Net::Trac::Connection"
---

# Net::Trac::Connection(3pm)

Connection to a remote Trac server

## NAME

Net::Trac::Connection - Connection to a remote Trac server

## DESCRIPTION

This class represents a connection to a remote Trac instance.  It is required by all other classes which need to talk to Trac.

## SYNOPSIS

```
    use Net::Trac::Connection;
    my $trac = Net::Trac::Connection->new(
        url      => 'http://trac.example.com',
        user     => 'snoopy',
        password => 'doghouse'
    );
```

## ACCESSORS

### url

The url of the Trac instance used by this connection.  Read-only after initialization.

### user

### password

## ACCESSORS / MUTATORS

### logged\_in \[BOOLEAN\]

Gets/sets a boolean indicating whether or not the connection is logged in yet.

### mech \[MECH\]

Gets/sets the Net::Trac::Mechanize (or subclassed) object for this connection to use.  Unless you want to replace it with one of your own, the default will suffice.

## METHODS

### new PARAMHASH

Creates a new Net::Trac::Connection given a paramhash with values for the keys `"url"`, `"user"`, and `"password"`.

### ensure\_logged\_in

Ensures this connection is logged in.  Returns true on success, and undef on failure.  Sets the `"logged_in"` flag.

## PRIVATE METHODS

### \_fetch URL

Fetches the provided **relative** URL from the Trac server.  Returns undef on an error (after `"warn"`ing) and the content (`"$self-"`mech-\>content\>) on success.

### \_warn\_on\_error URL

Checks the last request for an error condition and warns about them if found. Returns with a **TRUE** value if errors occurred and a **FALSE** value otherwise for nicer conditionals.

### \_tsv\_to\_struct PARAMHASH

Takes a paramhash of the keys `"data"` Given TSV data this method will return a reference to an array.

## LICENSE

Copyright 2008-2009 Best Practical Solutions.

This package is licensed under the same terms as Perl 5.8.8.
