Code from nghttp2 library ( https://github.com/tatsuhiro-t/nghttp2)
Thanks for Tatsuhiro Tsujikawa for permission to use nghttp2 lib.

Update library from source

download (clone) last release of nghttp2
and in folder epan/nghttp2 copy following file

cp ../../../nghttp2/lib/nghttp2_buf.[ch] .
cp ../../../nghttp2/lib/nghttp2_hd*.[ch] .
cp ../../../nghttp2/lib/nghttp2_helper.[ch] .
cp ../../../nghttp2/lib/nghttp2_int.h .
cp ../../../nghttp2/lib/nghttp2_mem.[ch] .
cp ../../../nghttp2/lib/nghttp2_rcbuf.[ch] .
cp ../../../nghttp2/lib/includes/nghttp2/nghttp2.h .
cp ../../../nghttp2/lib/includes/nghttp2/nghttp2ver.h .

Change path to nghttp2.h
find . -name "nghttp2*" -type f -exec sed -i 's/<nghttp2\/nghttp2.h>/<nghttp2.h>/g'  {} \;

Change path to nghttp2ver.h
find . -name "nghttp2*" -type f -exec sed -i 's/<nghttp2\/nghttp2ver.h>/"nghttp2ver.h"/g'  {} \;

Change ntoh[ls], hton[ls] to use g_ntoh[ls], g_hton[ls] from glib
find . -name "nghttp2*" -type f -exec sed -i 's/ntoh/g_ntoh/g'  {} \;
find . -name "nghttp2*" -type f -exec sed -i 's/hton/g_hton/g'  {} \;

Use glib.h and not nghttp2_net.h for ntoh/hton
find . -name "nghttp2*" -type f -exec sed -i 's/"nghttp2_net.h"/<glib.h>/g'  {} \;

Fix c++-compat error and documentation (struct => typedef) error

Rename free function to free_func in nghttp2_mem.[ch] to avoid shadowing
standard C free() function from stdlib.h

In nghttp2/nghttp2.h

Add on the top
#include <config.h>

After
#define NGHTTP2_EXTERN
 #endif /* !defined(WIN32) */

Add
/*
 * When we're building this as part of Wireshark, we want to treat
 * all these routines as internal to libwireshark.
 */

#include "ws_symbol_export.h"

#undef NGHTTP2_EXTERN
#define NGHTTP2_EXTERN WS_DLL_LOCAL
