diff --git a/http_host.t b/http_host.t
index 7bd0dcc..94f51ea 100644
--- a/http_host.t
+++ b/http_host.t
@@ -15,7 +15,7 @@
 BEGIN { use FindBin; chdir($FindBin::Bin); }
 
 use lib 'lib';
-use Test::Nginx;
+use Test::Nginx qw/ :DEFAULT http_content /;
 
 ###############################################################################
 
@@ -185,7 +185,7 @@
 Host: $host
 
 EOF
-	return ($all ? $r : Test::Nginx::http_content($r));
+	return ($all ? $r : http_content($r));
 }
 
 sub http_absolute_path {
@@ -195,7 +195,7 @@
 Host: localhost
 
 EOF
-	return ($all ? $r : Test::Nginx::http_content($r));
+	return ($all ? $r : http_content($r));
 }
 
 ###############################################################################
diff --git a/lib/Test/Nginx.pm b/lib/Test/Nginx.pm
index 92ed0f7..6d1d658 100644
--- a/lib/Test/Nginx.pm
+++ b/lib/Test/Nginx.pm
@@ -12,7 +12,9 @@
 use base qw/ Exporter /;
 
 our @EXPORT = qw/ log_in log_out http http_get http_head port /;
-our @EXPORT_OK = qw/ http_gzip_request http_gzip_like http_start http_end /;
+our @EXPORT_OK = qw/
+	http_gzip_request http_gzip_like http_start http_end http_content
+/;
 our %EXPORT_TAGS = (
 	gzip => [ qw/ http_gzip_request http_gzip_like / ]
 );
diff --git a/mp4.t b/mp4.t
index 2cca40b..872e633 100644
--- a/mp4.t
+++ b/mp4.t
@@ -16,7 +16,7 @@
 BEGIN { use FindBin; chdir($FindBin::Bin); }
 
 use lib 'lib';
-use Test::Nginx;
+use Test::Nginx qw/ :DEFAULT http_content /;
 
 ###############################################################################
 
@@ -144,7 +144,7 @@
 		$uri .= "?end=$end";
 	}
 
-	$t->write_file('frag.mp4', Test::Nginx::http_content(http_get($uri)));
+	$t->write_file('frag.mp4', http_content(http_get($uri)));
 
 	my $r = `ffprobe -show_streams $path 2>/dev/null`;
 	Test::Nginx::log_core('||', $r);
diff --git a/proxy_unfinished.t b/proxy_unfinished.t
index 0fbb543..4dd72e0 100644
--- a/proxy_unfinished.t
+++ b/proxy_unfinished.t
@@ -24,7 +24,7 @@
 BEGIN { use FindBin; chdir($FindBin::Bin); }
 
 use lib 'lib';
-use Test::Nginx;
+use Test::Nginx qw/ :DEFAULT http_content /;
 
 ###############################################################################
 
@@ -144,7 +144,7 @@
 my $r = http_get_11('/proxy/big.html', sleep => 0.5);
 
 SKIP: {
-skip 'finished', 1 if length(Test::Nginx::http_content($r)) == 1024 * 1024 + 8;
+skip 'finished', 1 if length(http_content($r)) == 1024 * 1024 + 8;
 
 like($r, qr/X(?!.*\x0d\x0a?0\x0d\x0a?)/s, 'no proxy temp');
 
diff --git a/sub_filter_slice.t b/sub_filter_slice.t
index 5277e63..4f16250 100644
--- a/sub_filter_slice.t
+++ b/sub_filter_slice.t
@@ -17,7 +17,7 @@
 BEGIN { use FindBin; chdir($FindBin::Bin); }
 
 use lib 'lib';
-use Test::Nginx;
+use Test::Nginx qw/ :DEFAULT http_content /;
 
 ###############################################################################
 
@@ -83,7 +83,7 @@
 
 $r = get('/t', 'Range: bytes=3-4');
 like($r, qr/ 206 /, 'range request - 206 partial reply');
-is(Test::Nginx::http_content($r), '34', 'range request - correct content');
+is(http_content($r), '34', 'range request - correct content');
 
 }
 
