---
name: "Search::Elasticsearch::Cxn::Hijk"
section: "3pm"
platform: "linux"
package: "libsearch-elasticsearch-perl"
version: "6.00-1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/Search::Elasticsearch::Cxn::Hijk"
---

# Search::Elasticsearch::Cxn::Hijk(3pm)

A Cxn implementation which uses Hijk

## NAME

Search::Elasticsearch::Cxn::Hijk - A Cxn implementation which uses Hijk

## VERSION

version 6.00

## DESCRIPTION

Provides an HTTP Cxn class based on Hijk. The Hijk backend is pure Perl and is very fast, faster even that Search::Elasticsearch::Cxn::NetCurl, but doesn't provide support for https or proxies.

This class does Search::Elasticsearch::Role::Cxn, whose documentation provides more information, and Search::Elasticsearch::Role::Is\_Sync.

## CONFIGURATION

### "connect\_timeout"

Unlike most HTTP backends, Hijk accepts a separate `"connect_timeout"` parameter, which defaults to `2` seconds but can be reduced in an environment with low network latency.

### Inherited configuration

From Search::Elasticsearch::Role::Cxn

- •

  node

- •

  max\_content\_length

- •

  deflate

- •

  deflate

- •

  request\_timeout

- •

  ping\_timeout

- •

  dead\_timeout

- •

  max\_dead\_timeout

- •

  sniff\_request\_timeout

- •

  sniff\_timeout

- •

  handle\_args

- •

  handle\_args

## SSL/TLS

Search::Elasticsearch::Cxn::Hijk does not support HTTPS.

## METHODS

### "perform\_request()"

```
    ($status,$body) = $self->perform_request({
        # required
        method      => 'GET|HEAD|POST|PUT|DELETE',
        path        => '/path/of/request',
        qs          => \%query_string_params,
        # optional
        data        => $body_as_string,
        mime_type   => 'application/json',
        timeout     => $timeout
    });
```

Sends the request to the associated Elasticsearch node and returns a `$status` code and the decoded response `$body`, or throws an error if the request failed.

### Inherited methods

From Search::Elasticsearch::Role::Cxn

- •

  *scheme()*

- •

  *is\_https()*

- •

  *userinfo()*

- •

  *default\_headers()*

- •

  *max\_content\_length()*

- •

  *build\_uri()*

- •

  *host()*

- •

  *port()*

- •

  *uri()*

- •

  *is\_dead()*

- •

  *is\_live()*

- •

  *next\_ping()*

- •

  *ping\_failures()*

- •

  *mark\_dead()*

- •

  *mark\_live()*

- •

  *force\_ping()*

- •

  *pings\_ok()*

- •

  *sniff()*

- •

  *process\_response()*

## SEE ALSO

- •

  Search::Elasticsearch::Role::Cxn

- •

  Search::Elasticsearch::Cxn::HTTPTiny

- •

  Search::Elasticsearch::Cxn::LWP

- •

  Search::Elasticsearch::Cxn::NetCurl

## AUTHOR

Clinton Gormley \<drtech@cpan.org\>

## COPYRIGHT AND LICENSE

This software is Copyright (c) 2017 by Elasticsearch BV.

This is free software, licensed under:

```
  The Apache License, Version 2.0, January 2004
```
