---
name: "HTTP::OAI::UserAgent"
section: "3pm"
platform: "linux"
package: "libhttp-oai-perl"
version: "4.13-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/HTTP::OAI::UserAgent"
---

# HTTP::OAI::UserAgent(3pm)

Extension of the LWP::UserAgent for OAI HTTP requests

## NAME

HTTP::OAI::UserAgent - Extension of the LWP::UserAgent for OAI HTTP requests

## DESCRIPTION

This module provides a simplified mechanism for making requests to an OAI repository, using the existing LWP::UserAgent module.

## SYNOPSIS

```
        require HTTP::OAI::UserAgent;
        my $ua = new HTTP::OAI::UserAgent;
        my $response = $ua->request(
                baseURL=>'http://arXiv.org/oai1',
                verb=>'ListRecords',
                from=>'2001-08-01',
                until=>'2001-08-31'
        );
        print $response->content;
```

## METHODS

- $ua = new HTTP::OAI::UserAgent(proxy=\>'www-cache',...)

  This constructor method returns a new instance of a HTTP::OAI::UserAgent module. All arguments are passed to the LWP::UserAgent constructor.

- $r = $ua-\>request($req)

  Requests the HTTP response defined by `$req`, which is a HTTP::Request object.

- $r = $ua-\>request(baseURL=\>$baseref, verb=\>$verb, %opts)

  Makes an HTTP request to the given OAI server (baseURL) with OAI arguments. Returns an HTTP::Response object.

  OAI-PMH related options:

  ```
          from => $from
          until => $until
          resumptionToken => $token
          metadataPrefix => $mdp
          set => $set
  ```

- $time\_d = $ua-\>delay( $time\_d )

  Return and optionally set a time (in seconds) to wait between requests. `$time_d` may be a CODEREF.
