File Coverage

blib/lib/Net/HTTP2/nghttp2.pm
Criterion Covered Total %
statement 13 13 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 19 19 100.0


line stmt bran cond sub pod time code
1             package Net::HTTP2::nghttp2;
2              
3 14     14   1565230 use strict;
  14         28  
  14         514  
4 14     14   69 use warnings;
  14         25  
  14         774  
5 14     14   73 use XSLoader;
  14         25  
  14         1581  
6              
7             our $VERSION = '0.007';
8              
9             XSLoader::load('Net::HTTP2::nghttp2', $VERSION);
10              
11             # Check if nghttp2 is available - must be after XSLoader
12             our $AVAILABLE = eval { _check_nghttp2_available() } ? 1 : 0;
13              
14 14     14 1 2483487 sub available { return $AVAILABLE }
15              
16             # Export constants
17 14     14   122 use Exporter 'import';
  14         55  
  14         2472  
18             our @EXPORT_OK = qw(
19             NGHTTP2_ERR_WOULDBLOCK
20             NGHTTP2_ERR_CALLBACK_FAILURE
21             NGHTTP2_ERR_DEFERRED
22             NGHTTP2_FLAG_NONE
23             NGHTTP2_FLAG_END_STREAM
24             NGHTTP2_FLAG_END_HEADERS
25             NGHTTP2_FLAG_ACK
26             NGHTTP2_FLAG_PADDED
27             NGHTTP2_FLAG_PRIORITY
28             NGHTTP2_DATA_FLAG_NONE
29             NGHTTP2_DATA_FLAG_EOF
30             NGHTTP2_DATA_FLAG_NO_END_STREAM
31             NGHTTP2_DATA_FLAG_NO_COPY
32             NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS
33             NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE
34             NGHTTP2_SETTINGS_MAX_FRAME_SIZE
35             NGHTTP2_SETTINGS_ENABLE_PUSH
36             NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL
37             );
38              
39             our %EXPORT_TAGS = (
40             all => \@EXPORT_OK,
41             errors => [qw(NGHTTP2_ERR_WOULDBLOCK NGHTTP2_ERR_CALLBACK_FAILURE NGHTTP2_ERR_DEFERRED)],
42             flags => [qw(NGHTTP2_FLAG_NONE NGHTTP2_FLAG_END_STREAM NGHTTP2_FLAG_END_HEADERS
43             NGHTTP2_FLAG_ACK NGHTTP2_FLAG_PADDED NGHTTP2_FLAG_PRIORITY)],
44             data => [qw(NGHTTP2_DATA_FLAG_NONE NGHTTP2_DATA_FLAG_EOF
45             NGHTTP2_DATA_FLAG_NO_END_STREAM NGHTTP2_DATA_FLAG_NO_COPY)],
46             settings => [qw(NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS NGHTTP2_SETTINGS_INITIAL_WINDOW_SIZE
47             NGHTTP2_SETTINGS_MAX_FRAME_SIZE NGHTTP2_SETTINGS_ENABLE_PUSH
48             NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL)],
49             );
50              
51             1;
52              
53             __END__