ronin-support 0.5.1 → 1.0.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.editorconfig +11 -0
- data/.github/workflows/ruby.yml +27 -0
- data/.gitignore +7 -6
- data/.mailmap +1 -0
- data/.ruby-version +1 -0
- data/.yardopts +1 -2
- data/ChangeLog.md +533 -137
- data/Gemfile +20 -20
- data/README.md +137 -61
- data/Rakefile +29 -10
- data/data/text/homoglyphs/ascii.txt +8 -0
- data/data/text/homoglyphs/cyrillic.txt +33 -0
- data/data/text/homoglyphs/full_width.txt +81 -0
- data/data/text/homoglyphs/greek.txt +21 -0
- data/data/text/homoglyphs/latin_numbers.txt +14 -0
- data/data/text/homoglyphs/punctuation.txt +7 -0
- data/data/text/patterns/network/public_suffix.rb.erb +44 -0
- data/examples/ssl_proxy.rb +38 -0
- data/examples/tcp_proxy.rb +41 -0
- data/gemspec.yml +25 -15
- data/lib/ronin/support/archive/core_ext/file.rb +118 -0
- data/lib/ronin/{formatting/sql.rb → support/archive/core_ext.rb} +6 -7
- data/lib/ronin/support/archive/mixin.rb +213 -0
- data/lib/ronin/support/archive/tar/reader.rb +135 -0
- data/lib/ronin/support/archive/tar/writer.rb +197 -0
- data/lib/ronin/support/archive/tar.rb +155 -0
- data/lib/ronin/support/archive/zip/reader/entry.rb +134 -0
- data/lib/ronin/support/archive/zip/reader/statistics.rb +76 -0
- data/lib/ronin/support/archive/zip/reader.rb +273 -0
- data/lib/ronin/support/archive/zip/writer.rb +175 -0
- data/lib/ronin/support/archive/zip.rb +105 -0
- data/lib/ronin/support/archive.rb +211 -0
- data/lib/ronin/support/binary/array.rb +255 -0
- data/lib/ronin/support/binary/bit_flip.rb +147 -0
- data/lib/ronin/support/binary/buffer.rb +2027 -0
- data/lib/ronin/support/binary/byte_slice.rb +324 -0
- data/lib/ronin/support/binary/core_ext/array.rb +75 -0
- data/lib/ronin/support/binary/core_ext/float.rb +80 -0
- data/lib/ronin/support/binary/core_ext/integer.rb +305 -0
- data/lib/ronin/support/binary/core_ext/io.rb +38 -0
- data/lib/ronin/support/binary/core_ext/string.rb +115 -0
- data/lib/ronin/{formatting/extensions/text.rb → support/binary/core_ext.rb} +9 -9
- data/lib/ronin/support/binary/cstring.rb +259 -0
- data/lib/ronin/support/binary/ctypes/aggregate_type.rb +98 -0
- data/lib/ronin/support/binary/ctypes/arch/arm/big_endian.rb +77 -0
- data/lib/ronin/support/binary/ctypes/arch/arm.rb +75 -0
- data/lib/ronin/support/binary/ctypes/arch/arm64/big_endian.rb +77 -0
- data/lib/ronin/support/binary/ctypes/arch/arm64.rb +75 -0
- data/lib/ronin/support/binary/ctypes/arch/mips/little_endian.rb +77 -0
- data/lib/ronin/support/binary/ctypes/arch/mips.rb +75 -0
- data/lib/ronin/support/binary/ctypes/arch/mips64/little_endian.rb +77 -0
- data/lib/ronin/support/binary/ctypes/arch/mips64.rb +75 -0
- data/lib/ronin/support/binary/ctypes/arch/ppc.rb +75 -0
- data/lib/ronin/support/binary/ctypes/arch/ppc64.rb +75 -0
- data/lib/ronin/support/binary/ctypes/arch/x86.rb +75 -0
- data/lib/ronin/support/binary/ctypes/arch/x86_64.rb +75 -0
- data/lib/ronin/support/binary/ctypes/arch.rb +30 -0
- data/lib/ronin/support/binary/ctypes/array_object_type.rb +164 -0
- data/lib/ronin/support/binary/ctypes/array_type.rb +232 -0
- data/lib/ronin/support/binary/ctypes/big_endian.rb +195 -0
- data/lib/ronin/support/binary/ctypes/char_type.rb +59 -0
- data/lib/ronin/support/binary/ctypes/char_types.rb +39 -0
- data/lib/ronin/support/binary/ctypes/enum_type.rb +181 -0
- data/lib/ronin/support/binary/ctypes/float32_type.rb +50 -0
- data/lib/ronin/support/binary/ctypes/float64_type.rb +50 -0
- data/lib/ronin/support/binary/ctypes/float_type.rb +62 -0
- data/lib/ronin/support/binary/ctypes/int16_type.rb +50 -0
- data/lib/ronin/support/binary/ctypes/int32_type.rb +50 -0
- data/lib/ronin/support/binary/ctypes/int64_type.rb +50 -0
- data/lib/ronin/support/binary/ctypes/int8_type.rb +41 -0
- data/lib/ronin/support/binary/ctypes/int_type.rb +62 -0
- data/lib/ronin/support/binary/ctypes/little_endian.rb +195 -0
- data/lib/ronin/support/binary/ctypes/mixin.rb +135 -0
- data/lib/ronin/support/binary/ctypes/native.rb +205 -0
- data/lib/ronin/support/binary/ctypes/network.rb +29 -0
- data/lib/ronin/support/binary/ctypes/object_type.rb +55 -0
- data/lib/ronin/support/binary/ctypes/os/bsd.rb +65 -0
- data/lib/ronin/support/binary/ctypes/os/freebsd.rb +215 -0
- data/lib/ronin/support/binary/ctypes/os/linux.rb +193 -0
- data/lib/ronin/support/binary/ctypes/os/macos.rb +151 -0
- data/lib/ronin/support/binary/ctypes/os/netbsd.rb +147 -0
- data/lib/ronin/support/binary/ctypes/os/openbsd.rb +168 -0
- data/lib/ronin/support/binary/ctypes/os/unix.rb +78 -0
- data/lib/ronin/support/binary/ctypes/os/windows.rb +125 -0
- data/lib/ronin/support/binary/ctypes/os.rb +125 -0
- data/lib/ronin/support/binary/ctypes/scalar_type.rb +200 -0
- data/lib/ronin/support/binary/ctypes/string_type.rb +143 -0
- data/lib/ronin/support/binary/ctypes/struct_object_type.rb +173 -0
- data/lib/ronin/support/binary/ctypes/struct_type.rb +359 -0
- data/lib/ronin/support/binary/ctypes/type.rb +193 -0
- data/lib/ronin/support/binary/ctypes/type_resolver.rb +206 -0
- data/lib/ronin/support/binary/ctypes/uint16_type.rb +50 -0
- data/lib/ronin/support/binary/ctypes/uint32_type.rb +50 -0
- data/lib/ronin/support/binary/ctypes/uint64_type.rb +50 -0
- data/lib/ronin/support/binary/ctypes/uint8_type.rb +41 -0
- data/lib/ronin/support/binary/ctypes/uint_type.rb +59 -0
- data/lib/ronin/support/binary/ctypes/unbounded_array_type.rb +258 -0
- data/lib/ronin/support/binary/ctypes/union_object_type.rb +173 -0
- data/lib/ronin/support/binary/ctypes/union_type.rb +261 -0
- data/lib/ronin/support/binary/ctypes.rb +462 -0
- data/lib/ronin/support/binary/hexdump/core_ext/file.rb +118 -0
- data/lib/ronin/support/binary/hexdump/core_ext/string.rb +115 -0
- data/lib/ronin/support/binary/hexdump/core_ext.rb +20 -0
- data/lib/ronin/support/binary/hexdump/parser.rb +492 -0
- data/lib/ronin/support/binary/hexdump.rb +20 -0
- data/lib/ronin/support/binary/memory.rb +268 -0
- data/lib/ronin/support/binary/packet.rb +33 -0
- data/lib/ronin/support/binary/stack.rb +256 -0
- data/lib/ronin/support/binary/stream/methods.rb +1755 -0
- data/lib/ronin/support/binary/stream.rb +151 -0
- data/lib/ronin/support/binary/struct/member.rb +86 -0
- data/lib/ronin/support/binary/struct.rb +830 -0
- data/lib/ronin/support/binary/template.rb +284 -0
- data/lib/ronin/support/binary/union.rb +162 -0
- data/lib/ronin/support/binary.rb +26 -0
- data/lib/ronin/support/cli/ansi.rb +330 -0
- data/lib/ronin/support/cli/io_shell/core_ext/io.rb +67 -0
- data/lib/ronin/{fuzzing/extensions.rb → support/cli/io_shell/core_ext.rb} +6 -7
- data/lib/ronin/support/cli/io_shell.rb +161 -0
- data/lib/ronin/support/cli/printing.rb +216 -0
- data/lib/ronin/support/cli.rb +20 -0
- data/lib/ronin/support/compression/core_ext/file.rb +70 -0
- data/lib/ronin/support/compression/core_ext/string.rb +101 -0
- data/lib/ronin/{formatting/html.rb → support/compression/core_ext.rb} +6 -7
- data/lib/ronin/support/compression/gzip/reader.rb +70 -0
- data/lib/ronin/support/compression/gzip/writer.rb +74 -0
- data/lib/ronin/support/compression/gzip.rb +105 -0
- data/lib/ronin/support/compression/mixin.rb +180 -0
- data/lib/ronin/{network/extensions/esmtp/net.rb → support/compression/zlib.rb} +9 -10
- data/lib/ronin/support/compression.rb +174 -0
- data/lib/ronin/{extensions → support/core_ext}/enumerable.rb +5 -6
- data/lib/ronin/{extensions → support/core_ext}/file.rb +11 -34
- data/lib/ronin/support/core_ext/integer.rb +37 -0
- data/lib/ronin/support/core_ext/ipaddr.rb +65 -0
- data/lib/ronin/{extensions → support/core_ext}/kernel.rb +10 -9
- data/lib/ronin/{extensions → support/core_ext}/resolv.rb +5 -28
- data/lib/ronin/{extensions → support/core_ext}/string.rb +117 -57
- data/lib/ronin/support/core_ext.rb +33 -0
- data/lib/ronin/support/crypto/cert.rb +522 -0
- data/lib/ronin/support/crypto/cert_chain.rb +204 -0
- data/lib/ronin/support/crypto/cipher/aes.rb +71 -0
- data/lib/ronin/support/crypto/cipher/aes128.rb +54 -0
- data/lib/ronin/support/crypto/cipher/aes256.rb +54 -0
- data/lib/ronin/support/crypto/cipher.rb +194 -0
- data/lib/ronin/support/crypto/core_ext/file.rb +660 -0
- data/lib/ronin/support/crypto/core_ext/string.rb +548 -0
- data/lib/ronin/{binary.rb → support/crypto/core_ext.rb} +7 -8
- data/lib/ronin/support/crypto/hmac.rb +48 -0
- data/lib/ronin/support/crypto/key/dh.rb +122 -0
- data/lib/ronin/support/crypto/key/dsa.rb +103 -0
- data/lib/ronin/support/crypto/key/ec.rb +99 -0
- data/lib/ronin/support/crypto/key/methods.rb +163 -0
- data/lib/ronin/support/crypto/key/rsa.rb +169 -0
- data/lib/ronin/support/crypto/key.rb +105 -0
- data/lib/ronin/support/crypto/mixin.rb +620 -0
- data/lib/ronin/{network/extensions/http/net.rb → support/crypto/openssl.rb} +9 -10
- data/lib/ronin/support/crypto.rb +779 -0
- data/lib/ronin/support/encoding/base16/core_ext/string.rb +63 -0
- data/lib/ronin/support/encoding/base16/core_ext.rb +19 -0
- data/lib/ronin/support/encoding/base16.rb +82 -0
- data/lib/ronin/support/encoding/base32/core_ext/string.rb +63 -0
- data/lib/ronin/support/encoding/base32/core_ext.rb +19 -0
- data/lib/ronin/support/encoding/base32.rb +164 -0
- data/lib/ronin/support/encoding/base64/core_ext/string.rb +76 -0
- data/lib/ronin/support/encoding/base64/core_ext.rb +19 -0
- data/lib/ronin/support/encoding/base64.rb +78 -0
- data/lib/ronin/support/encoding/c/core_ext/integer.rb +82 -0
- data/lib/ronin/support/encoding/c/core_ext/string.rb +125 -0
- data/lib/ronin/support/encoding/c/core_ext.rb +20 -0
- data/lib/ronin/support/encoding/c.rb +277 -0
- data/lib/ronin/support/encoding/core_ext/string.rb +107 -0
- data/lib/ronin/support/encoding/core_ext.rb +33 -0
- data/lib/ronin/support/encoding/hex/core_ext/integer.rb +82 -0
- data/lib/ronin/support/encoding/hex/core_ext/string.rb +133 -0
- data/lib/ronin/support/encoding/hex/core_ext.rb +22 -0
- data/lib/ronin/support/encoding/hex.rb +248 -0
- data/lib/ronin/support/encoding/html/core_ext/integer.rb +106 -0
- data/lib/ronin/support/encoding/html/core_ext/string.rb +130 -0
- data/lib/ronin/support/encoding/html/core_ext.rb +20 -0
- data/lib/ronin/support/encoding/html.rb +233 -0
- data/lib/ronin/support/encoding/http/core_ext/integer.rb +95 -0
- data/lib/ronin/support/encoding/http/core_ext/string.rb +129 -0
- data/lib/ronin/support/encoding/http/core_ext.rb +20 -0
- data/lib/ronin/support/encoding/http.rb +241 -0
- data/lib/ronin/support/encoding/js/core_ext/integer.rb +67 -0
- data/lib/ronin/support/encoding/js/core_ext/string.rb +125 -0
- data/lib/ronin/support/encoding/js/core_ext.rb +20 -0
- data/lib/ronin/support/encoding/js.rb +279 -0
- data/lib/ronin/support/encoding/powershell/core_ext/integer.rb +87 -0
- data/lib/ronin/support/encoding/powershell/core_ext/string.rb +145 -0
- data/lib/ronin/support/encoding/powershell/core_ext.rb +20 -0
- data/lib/ronin/support/encoding/powershell.rb +297 -0
- data/lib/ronin/support/encoding/punycode/core_ext/string.rb +63 -0
- data/lib/ronin/support/encoding/punycode/core_ext.rb +19 -0
- data/lib/ronin/support/encoding/punycode.rb +76 -0
- data/lib/ronin/support/encoding/quoted_printable/core_ext/string.rb +75 -0
- data/lib/ronin/support/encoding/quoted_printable/core_ext.rb +19 -0
- data/lib/ronin/support/encoding/quoted_printable.rb +102 -0
- data/lib/ronin/support/encoding/ruby/core_ext/string.rb +129 -0
- data/lib/ronin/{formatting/binary.rb → support/encoding/ruby/core_ext.rb} +6 -7
- data/lib/ronin/support/encoding/ruby.rb +235 -0
- data/lib/ronin/support/encoding/shell/core_ext/integer.rb +89 -0
- data/lib/ronin/support/encoding/shell/core_ext/string.rb +134 -0
- data/lib/ronin/support/encoding/shell/core_ext.rb +20 -0
- data/lib/ronin/support/encoding/shell.rb +293 -0
- data/lib/ronin/{network/extensions → support/encoding}/smtp.rb +7 -7
- data/lib/ronin/support/encoding/sql/core_ext/string.rb +114 -0
- data/lib/ronin/{formatting/http.rb → support/encoding/sql/core_ext.rb} +6 -7
- data/lib/ronin/support/encoding/sql.rb +124 -0
- data/lib/ronin/support/encoding/uri/core_ext/integer.rb +149 -0
- data/lib/ronin/support/encoding/uri/core_ext/string.rb +195 -0
- data/lib/ronin/support/encoding/uri/core_ext.rb +20 -0
- data/lib/ronin/support/encoding/uri.rb +424 -0
- data/lib/ronin/support/encoding/uuencoding/core_ext/string.rb +73 -0
- data/lib/ronin/support/encoding/uuencoding/core_ext.rb +19 -0
- data/lib/ronin/support/encoding/uuencoding.rb +70 -0
- data/lib/ronin/support/encoding/xml/core_ext/integer.rb +100 -0
- data/lib/ronin/support/encoding/xml/core_ext/string.rb +124 -0
- data/lib/ronin/support/encoding/xml/core_ext.rb +20 -0
- data/lib/ronin/support/encoding/xml.rb +328 -0
- data/lib/ronin/support/encoding.rb +46 -0
- data/lib/ronin/support/home.rb +88 -0
- data/lib/ronin/support/mixin.rb +42 -0
- data/lib/ronin/support/network/asn/dns_record.rb +112 -0
- data/lib/ronin/support/network/asn/list.rb +269 -0
- data/lib/ronin/support/network/asn/record.rb +164 -0
- data/lib/ronin/support/network/asn/record_set.rb +226 -0
- data/lib/ronin/support/network/asn.rb +88 -0
- data/lib/ronin/{binary/hexdump.rb → support/network/core_ext.rb} +6 -7
- data/lib/ronin/support/network/dns/idn.rb +38 -0
- data/lib/ronin/support/network/dns/mixin.rb +941 -0
- data/lib/ronin/support/network/dns/resolver.rb +707 -0
- data/lib/ronin/support/network/dns.rb +1109 -0
- data/lib/ronin/support/network/domain.rb +70 -0
- data/lib/ronin/support/network/email_address.rb +574 -0
- data/lib/ronin/support/network/esmtp/mixin.rb +115 -0
- data/lib/ronin/support/network/exceptions.rb +43 -0
- data/lib/ronin/support/network/ftp/mixin.rb +106 -0
- data/lib/ronin/support/network/host.rb +1473 -0
- data/lib/ronin/support/network/http/cookie.rb +245 -0
- data/lib/ronin/support/network/http/core_ext/uri/http.rb +63 -0
- data/lib/ronin/support/network/http/core_ext.rb +19 -0
- data/lib/ronin/support/network/http/mixin.rb +890 -0
- data/lib/ronin/support/network/http/request.rb +215 -0
- data/lib/ronin/support/network/http/set_cookie.rb +210 -0
- data/lib/ronin/support/network/http/user_agents.rb +115 -0
- data/lib/ronin/support/network/http.rb +2582 -0
- data/lib/ronin/support/network/imap/mixin.rb +133 -0
- data/lib/ronin/support/network/ip/mixin.rb +114 -0
- data/lib/ronin/support/network/ip.rb +540 -0
- data/lib/ronin/support/network/ip_range/cidr.rb +252 -0
- data/lib/ronin/support/network/ip_range/glob.rb +309 -0
- data/lib/ronin/support/network/ip_range/range.rb +249 -0
- data/lib/ronin/support/network/ip_range.rb +284 -0
- data/lib/ronin/support/network/mixin.rb +58 -0
- data/lib/ronin/support/network/packet.rb +27 -0
- data/lib/ronin/support/network/pop3/mixin.rb +113 -0
- data/lib/ronin/support/network/proxy.rb +602 -0
- data/lib/ronin/support/network/public_suffix/list.rb +339 -0
- data/lib/ronin/support/network/public_suffix/suffix.rb +118 -0
- data/lib/ronin/support/network/public_suffix/suffix_set.rb +150 -0
- data/lib/ronin/support/network/public_suffix.rb +41 -0
- data/lib/ronin/support/network/smtp/email.rb +190 -0
- data/lib/ronin/support/network/smtp/mixin.rb +290 -0
- data/lib/ronin/{extensions/meta.rb → support/network/smtp.rb} +6 -7
- data/lib/ronin/support/network/ssl/local_cert.rb +114 -0
- data/lib/ronin/support/network/ssl/local_key.rb +84 -0
- data/lib/ronin/support/network/ssl/mixin.rb +740 -0
- data/lib/ronin/{network/extensions/imap/net.rb → support/network/ssl/openssl.rb} +9 -10
- data/lib/ronin/support/network/ssl/proxy.rb +296 -0
- data/lib/ronin/support/network/ssl.rb +173 -0
- data/lib/ronin/support/network/tcp/mixin.rb +400 -0
- data/lib/ronin/support/network/tcp/proxy.rb +435 -0
- data/lib/ronin/support/network/tcp.rb +443 -0
- data/lib/ronin/support/network/telnet/mixin.rb +150 -0
- data/lib/ronin/support/network/telnet.rb +90 -0
- data/lib/ronin/support/network/tld/list.rb +266 -0
- data/lib/ronin/support/network/tld.rb +41 -0
- data/lib/ronin/support/network/tls/mixin.rb +670 -0
- data/lib/ronin/support/network/tls/proxy.rb +135 -0
- data/lib/ronin/support/network/tls.rb +53 -0
- data/lib/ronin/support/network/udp/mixin.rb +389 -0
- data/lib/ronin/support/network/udp/proxy.rb +192 -0
- data/lib/ronin/support/network/udp.rb +435 -0
- data/lib/ronin/support/network/unix/mixin.rb +273 -0
- data/lib/ronin/support/network.rb +37 -0
- data/lib/ronin/support/path.rb +136 -0
- data/lib/ronin/{network/extensions/dns/net.rb → support/text/core_ext/regexp.rb} +8 -9
- data/lib/ronin/support/text/core_ext/string.rb +46 -0
- data/lib/ronin/support/text/core_ext.rb +23 -0
- data/lib/ronin/support/text/entropy/core_ext/string.rb +45 -0
- data/lib/ronin/support/text/entropy/core_ext.rb +19 -0
- data/lib/ronin/support/text/entropy.rb +66 -0
- data/lib/ronin/support/text/erb/mixin.rb +44 -0
- data/lib/ronin/support/text/erb.rb +19 -0
- data/lib/ronin/support/text/homoglyph/core_ext/string.rb +108 -0
- data/lib/ronin/{formatting/digest.rb → support/text/homoglyph/core_ext.rb} +6 -7
- data/lib/ronin/{network/http/exceptions/unknown_request.rb → support/text/homoglyph/exceptions.rb} +10 -9
- data/lib/ronin/support/text/homoglyph/table.rb +228 -0
- data/lib/ronin/support/text/homoglyph.rb +142 -0
- data/lib/ronin/support/text/mixin.rb +31 -0
- data/lib/ronin/support/text/patterns/credentials.rb +75 -0
- data/lib/ronin/support/text/patterns/crypto.rb +67 -0
- data/lib/ronin/support/text/patterns/file_system.rb +93 -0
- data/lib/ronin/support/text/patterns/language.rb +37 -0
- data/lib/ronin/support/text/patterns/network/public_suffix.rb +44 -0
- data/lib/ronin/support/text/patterns/network.rb +140 -0
- data/lib/ronin/support/text/patterns/numeric.rb +52 -0
- data/lib/ronin/support/text/patterns/pii.rb +105 -0
- data/lib/ronin/support/text/patterns/source_code.rb +148 -0
- data/lib/ronin/support/text/patterns.rb +25 -0
- data/lib/ronin/support/text/random/mixin.rb +437 -0
- data/lib/ronin/support/text/random.rb +419 -0
- data/lib/ronin/support/text/typo/core_ext/string.rb +123 -0
- data/lib/ronin/support/text/typo/core_ext.rb +19 -0
- data/lib/ronin/support/text/typo/exceptions.rb +28 -0
- data/lib/ronin/support/text/typo/generator.rb +161 -0
- data/lib/ronin/support/text/typo.rb +260 -0
- data/lib/ronin/support/text.rb +26 -0
- data/lib/ronin/support/version.rb +6 -7
- data/lib/ronin/support.rb +20 -15
- data/ronin-support.gemspec +3 -1
- metadata +462 -369
- data/.gemtest +0 -0
- data/lib/ronin/binary/hexdump/parser.rb +0 -403
- data/lib/ronin/binary/struct.rb +0 -567
- data/lib/ronin/binary/template.rb +0 -454
- data/lib/ronin/extensions/ip_addr.rb +0 -217
- data/lib/ronin/extensions/meta/object.rb +0 -24
- data/lib/ronin/extensions/regexp.rb +0 -157
- data/lib/ronin/extensions.rb +0 -29
- data/lib/ronin/formatting/extensions/binary/array.rb +0 -61
- data/lib/ronin/formatting/extensions/binary/base64.rb +0 -106
- data/lib/ronin/formatting/extensions/binary/file.rb +0 -77
- data/lib/ronin/formatting/extensions/binary/float.rb +0 -65
- data/lib/ronin/formatting/extensions/binary/integer.rb +0 -180
- data/lib/ronin/formatting/extensions/binary/string.rb +0 -345
- data/lib/ronin/formatting/extensions/binary.rb +0 -26
- data/lib/ronin/formatting/extensions/digest/file.rb +0 -129
- data/lib/ronin/formatting/extensions/digest/string.rb +0 -86
- data/lib/ronin/formatting/extensions/digest.rb +0 -21
- data/lib/ronin/formatting/extensions/html/integer.rb +0 -142
- data/lib/ronin/formatting/extensions/html/string.rb +0 -194
- data/lib/ronin/formatting/extensions/html.rb +0 -21
- data/lib/ronin/formatting/extensions/http/integer.rb +0 -69
- data/lib/ronin/formatting/extensions/http/string.rb +0 -110
- data/lib/ronin/formatting/extensions/http.rb +0 -21
- data/lib/ronin/formatting/extensions/sql/string.rb +0 -128
- data/lib/ronin/formatting/extensions/sql.rb +0 -20
- data/lib/ronin/formatting/extensions/text/array.rb +0 -137
- data/lib/ronin/formatting/extensions/text/string.rb +0 -297
- data/lib/ronin/formatting/extensions.rb +0 -24
- data/lib/ronin/formatting/text.rb +0 -20
- data/lib/ronin/formatting.rb +0 -25
- data/lib/ronin/fuzzing/extensions/string.rb +0 -209
- data/lib/ronin/fuzzing/fuzzer.rb +0 -110
- data/lib/ronin/fuzzing/fuzzing.rb +0 -360
- data/lib/ronin/fuzzing/mutator.rb +0 -161
- data/lib/ronin/fuzzing/repeater.rb +0 -81
- data/lib/ronin/fuzzing/template.rb +0 -133
- data/lib/ronin/fuzzing.rb +0 -21
- data/lib/ronin/mixin.rb +0 -89
- data/lib/ronin/network/dns.rb +0 -201
- data/lib/ronin/network/esmtp.rb +0 -113
- data/lib/ronin/network/extensions/dns.rb +0 -20
- data/lib/ronin/network/extensions/esmtp.rb +0 -20
- data/lib/ronin/network/extensions/http/uri/http.rb +0 -228
- data/lib/ronin/network/extensions/http.rb +0 -21
- data/lib/ronin/network/extensions/imap.rb +0 -20
- data/lib/ronin/network/extensions/pop3/net.rb +0 -24
- data/lib/ronin/network/extensions/pop3.rb +0 -20
- data/lib/ronin/network/extensions/smtp/net.rb +0 -24
- data/lib/ronin/network/extensions/ssl/net.rb +0 -24
- data/lib/ronin/network/extensions/ssl.rb +0 -20
- data/lib/ronin/network/extensions/tcp/net.rb +0 -24
- data/lib/ronin/network/extensions/tcp.rb +0 -20
- data/lib/ronin/network/extensions/telnet/net.rb +0 -24
- data/lib/ronin/network/extensions/telnet.rb +0 -20
- data/lib/ronin/network/extensions/udp/net.rb +0 -24
- data/lib/ronin/network/extensions/udp.rb +0 -20
- data/lib/ronin/network/extensions.rb +0 -29
- data/lib/ronin/network/ftp.rb +0 -149
- data/lib/ronin/network/http/exceptions.rb +0 -20
- data/lib/ronin/network/http/http.rb +0 -1127
- data/lib/ronin/network/http/proxy.rb +0 -330
- data/lib/ronin/network/http.rb +0 -22
- data/lib/ronin/network/imap.rb +0 -158
- data/lib/ronin/network/mixins/dns.rb +0 -55
- data/lib/ronin/network/mixins/esmtp.rb +0 -164
- data/lib/ronin/network/mixins/ftp.rb +0 -155
- data/lib/ronin/network/mixins/http.rb +0 -227
- data/lib/ronin/network/mixins/imap.rb +0 -156
- data/lib/ronin/network/mixins/mixin.rb +0 -58
- data/lib/ronin/network/mixins/pop3.rb +0 -149
- data/lib/ronin/network/mixins/smtp.rb +0 -159
- data/lib/ronin/network/mixins/ssl.rb +0 -148
- data/lib/ronin/network/mixins/tcp.rb +0 -368
- data/lib/ronin/network/mixins/telnet.rb +0 -208
- data/lib/ronin/network/mixins/udp.rb +0 -381
- data/lib/ronin/network/mixins/unix.rb +0 -279
- data/lib/ronin/network/mixins.rb +0 -29
- data/lib/ronin/network/network.rb +0 -45
- data/lib/ronin/network/pop3.rb +0 -124
- data/lib/ronin/network/proxy.rb +0 -578
- data/lib/ronin/network/smtp/email.rb +0 -174
- data/lib/ronin/network/smtp/smtp.rb +0 -230
- data/lib/ronin/network/smtp.rb +0 -22
- data/lib/ronin/network/ssl.rb +0 -186
- data/lib/ronin/network/tcp/proxy.rb +0 -417
- data/lib/ronin/network/tcp/tcp.rb +0 -443
- data/lib/ronin/network/tcp.rb +0 -21
- data/lib/ronin/network/telnet.rb +0 -264
- data/lib/ronin/network/udp/proxy.rb +0 -191
- data/lib/ronin/network/udp/udp.rb +0 -450
- data/lib/ronin/network/udp.rb +0 -21
- data/lib/ronin/network/unix.rb +0 -286
- data/lib/ronin/network.rb +0 -31
- data/lib/ronin/path.rb +0 -137
- data/lib/ronin/spec/ui/output.rb +0 -22
- data/lib/ronin/support/inflector.rb +0 -92
- data/lib/ronin/support/support.rb +0 -42
- data/lib/ronin/templates/erb.rb +0 -78
- data/lib/ronin/templates/template.rb +0 -169
- data/lib/ronin/templates.rb +0 -21
- data/lib/ronin/ui/output/helpers.rb +0 -296
- data/lib/ronin/ui/output/output.rb +0 -146
- data/lib/ronin/ui/output/terminal/color.rb +0 -124
- data/lib/ronin/ui/output/terminal/raw.rb +0 -103
- data/lib/ronin/ui/output/terminal.rb +0 -21
- data/lib/ronin/ui/output.rb +0 -21
- data/lib/ronin/ui/shell.rb +0 -286
- data/lib/ronin/wordlist.rb +0 -287
- data/spec/binary/hexdump/helpers/hexdumps/ascii.bin +0 -0
- data/spec/binary/hexdump/helpers/hexdumps/hexdump_decimal_shorts.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/hexdump_hex_bytes.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/hexdump_hex_shorts.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/hexdump_octal_bytes.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/hexdump_octal_shorts.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/hexdump_repeated.txt +0 -6
- data/spec/binary/hexdump/helpers/hexdumps/od_decimal_bytes.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_decimal_ints.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_decimal_quads.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_decimal_shorts.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_doubles.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_floats.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_hex_bytes.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_hex_ints.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_hex_quads.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_hex_shorts.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_named_chars.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_octal_bytes.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_octal_ints.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_octal_quads.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_octal_shorts.txt +0 -17
- data/spec/binary/hexdump/helpers/hexdumps/od_repeated.txt +0 -6
- data/spec/binary/hexdump/helpers/hexdumps/repeated.bin +0 -1
- data/spec/binary/hexdump/helpers/hexdumps.rb +0 -13
- data/spec/binary/hexdump/parser_spec.rb +0 -302
- data/spec/binary/struct_spec.rb +0 -496
- data/spec/binary/template_spec.rb +0 -414
- data/spec/extensions/enumerable_spec.rb +0 -24
- data/spec/extensions/file_spec.rb +0 -63
- data/spec/extensions/ip_addr_spec.rb +0 -203
- data/spec/extensions/kernel_spec.rb +0 -30
- data/spec/extensions/regexp_spec.rb +0 -482
- data/spec/extensions/resolv_spec.rb +0 -18
- data/spec/extensions/string_spec.rb +0 -179
- data/spec/formatting/binary/array_spec.rb +0 -26
- data/spec/formatting/binary/base64_spec.rb +0 -50
- data/spec/formatting/binary/float_spec.rb +0 -34
- data/spec/formatting/binary/integer_spec.rb +0 -166
- data/spec/formatting/binary/string_spec.rb +0 -197
- data/spec/formatting/digest/string_spec.rb +0 -82
- data/spec/formatting/html/integer_spec.rb +0 -66
- data/spec/formatting/html/string_spec.rb +0 -103
- data/spec/formatting/http/integer_spec.rb +0 -42
- data/spec/formatting/http/string_spec.rb +0 -76
- data/spec/formatting/sql/string_spec.rb +0 -75
- data/spec/formatting/text/array_spec.rb +0 -105
- data/spec/formatting/text/string_spec.rb +0 -162
- data/spec/fuzzing/extensions/string_spec.rb +0 -87
- data/spec/fuzzing/fuzzer_spec.rb +0 -109
- data/spec/fuzzing/fuzzing_spec.rb +0 -24
- data/spec/fuzzing/mutator_spec.rb +0 -112
- data/spec/fuzzing/repeater_spec.rb +0 -57
- data/spec/fuzzing/template_spec.rb +0 -54
- data/spec/mixin_spec.rb +0 -53
- data/spec/network/dns_spec.rb +0 -201
- data/spec/network/ftp_spec.rb +0 -81
- data/spec/network/http/http_spec.rb +0 -466
- data/spec/network/http/proxy_spec.rb +0 -148
- data/spec/network/network_spec.rb +0 -8
- data/spec/network/proxy_spec.rb +0 -121
- data/spec/network/shared/unix_server.rb +0 -31
- data/spec/network/smtp/email_spec.rb +0 -100
- data/spec/network/ssl_spec.rb +0 -70
- data/spec/network/tcp/proxy_spec.rb +0 -116
- data/spec/network/tcp/tcp_spec.rb +0 -273
- data/spec/network/telnet_spec.rb +0 -67
- data/spec/network/udp/udp_spec.rb +0 -271
- data/spec/network/unix_spec.rb +0 -183
- data/spec/path_spec.rb +0 -86
- data/spec/spec_helper.rb +0 -9
- data/spec/support/inflector_spec.rb +0 -22
- data/spec/support_spec.rb +0 -8
- data/spec/templates/classes/example_erb.rb +0 -11
- data/spec/templates/classes/example_template.rb +0 -35
- data/spec/templates/erb_spec.rb +0 -21
- data/spec/templates/helpers/data/includes/_relative.erb +0 -1
- data/spec/templates/helpers/data/templates/example.erb +0 -1
- data/spec/templates/helpers/data.rb +0 -9
- data/spec/templates/template_spec.rb +0 -54
- data/spec/ui/classes/test_shell.rb +0 -22
- data/spec/ui/output_spec.rb +0 -32
- data/spec/ui/shell_spec.rb +0 -83
- data/spec/wordlist_spec.rb +0 -151
|
@@ -0,0 +1,890 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
#
|
|
3
|
+
# Copyright (c) 2006-2022 Hal Brodigan (postmodern.mod3 at gmail.com)
|
|
4
|
+
#
|
|
5
|
+
# ronin-support is free software: you can redistribute it and/or modify
|
|
6
|
+
# it under the terms of the GNU Lesser General Public License as published
|
|
7
|
+
# by the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
# (at your option) any later version.
|
|
9
|
+
#
|
|
10
|
+
# ronin-support is distributed in the hope that it will be useful,
|
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
# GNU Lesser General Public License for more details.
|
|
14
|
+
#
|
|
15
|
+
# You should have received a copy of the GNU Lesser General Public License
|
|
16
|
+
# along with ronin-support. If not, see <https://www.gnu.org/licenses/>.
|
|
17
|
+
#
|
|
18
|
+
|
|
19
|
+
require 'ronin/support/network/http'
|
|
20
|
+
|
|
21
|
+
module Ronin
|
|
22
|
+
module Support
|
|
23
|
+
module Network
|
|
24
|
+
class HTTP
|
|
25
|
+
#
|
|
26
|
+
# Provides helper methods for communicating with HTTP Servers.
|
|
27
|
+
#
|
|
28
|
+
module Mixin
|
|
29
|
+
#
|
|
30
|
+
# @!macro connect_kwargs
|
|
31
|
+
# @param [Boolean, Hash{Symbol => Object}, nil] ssl
|
|
32
|
+
# Specifies whether to enable SSL and/or the SSL context
|
|
33
|
+
# configuration.
|
|
34
|
+
#
|
|
35
|
+
# @param [Hash{Symbol => Object}] kwargs
|
|
36
|
+
# Additional keyword arguments.
|
|
37
|
+
#
|
|
38
|
+
# @option kwargs [String, URI::HTTP, Addressable::URI, nil] :proxy
|
|
39
|
+
# The optional proxy to send requests through.
|
|
40
|
+
#
|
|
41
|
+
# @option kwargs [Hash{Symbol,String => String,Array}, nil] :headers
|
|
42
|
+
# Additional headers to add to each request.
|
|
43
|
+
#
|
|
44
|
+
# @option kwargs [String, :random, :chrome, :chrome_linux, :chrome_macos, :chrome_windows, :chrome_iphone, :chrome_ipad, :chrome_android, :firefox, :firefox_linux, :firefox_macos, :firefox_windows, :firefox_iphone, :firefox_ipad, :firefox_android, :safari, :safari_macos, :safari_iphone, :safari_ipad, :edge, :linux, :macos, :windows, :iphone, :ipad, :android, nil] user_agent (HTTP.user_agent)
|
|
45
|
+
# The default `User-Agent` string to add to each request.
|
|
46
|
+
#
|
|
47
|
+
# @option ssl [String, nil] :ca_bundle
|
|
48
|
+
# The path to the CA bundle directory or file.
|
|
49
|
+
#
|
|
50
|
+
# @option ssl [Crypto::Cert, OpenSSL::X509::Certificate, nil] :cert
|
|
51
|
+
# The certificate to use for the SSL/TLS connection.
|
|
52
|
+
#
|
|
53
|
+
# @option ssl [OpenSSL::X509::Store, nil] :cert_store
|
|
54
|
+
# The certificate store to use for the SSL/TLS connection.
|
|
55
|
+
#
|
|
56
|
+
# @option ssl [Array<(name, version, bits, alg_bits)>, nil] :ciphers
|
|
57
|
+
# The accepted ciphers to use for the SSL/TLS connection.
|
|
58
|
+
#
|
|
59
|
+
# @option ssl [Crypto::Cert, OpenSSL::X509::Certificate, nil] :extra_chain_cert
|
|
60
|
+
# The extra certificate to add to the SSL/TLS certificate chain.
|
|
61
|
+
#
|
|
62
|
+
# @option ssl [Crypto::Key::RSA, Crypto::Key::DSA, OpenSSL::PKey::RSA, OpenSSL::PKey::DSA, nil] :key
|
|
63
|
+
# The RSA or DSA key to use for the SSL/TLS connection.
|
|
64
|
+
#
|
|
65
|
+
# @option ssl [Integer, nil] :timeout
|
|
66
|
+
# The connection timeout limit.
|
|
67
|
+
#
|
|
68
|
+
# @option ssl [1, 1.1, 1.2, Symbol, nil] :version
|
|
69
|
+
# The desired SSL/TLS version.
|
|
70
|
+
#
|
|
71
|
+
# @option ssl [1, 1.1, 1.2, Symbol, nil] :min_version
|
|
72
|
+
# The minimum SSL/TLS version.
|
|
73
|
+
#
|
|
74
|
+
# @option ssl [1, 1.1, 1.2, Symbol, nil] :max_version
|
|
75
|
+
# The maximum SSL/TLS version.
|
|
76
|
+
#
|
|
77
|
+
# @option ssl [Proc, nil] :verify_callback
|
|
78
|
+
# The callback to use when verifying the server's certificate.
|
|
79
|
+
#
|
|
80
|
+
# @option ssl [Integer, nil] :verify_depth
|
|
81
|
+
# The verification depth limit.
|
|
82
|
+
#
|
|
83
|
+
# @option ssl [:none, :peer, :fail_if_no_peer_cert, true, false, Integer, nil] :verify
|
|
84
|
+
# The verification mode.
|
|
85
|
+
#
|
|
86
|
+
# @option ssl [Boolean, nil] :verify_hostname
|
|
87
|
+
# Indicates whether to verify the server's hostname.
|
|
88
|
+
#
|
|
89
|
+
|
|
90
|
+
#
|
|
91
|
+
# Creates a HTTP connection to the host nad port.
|
|
92
|
+
#
|
|
93
|
+
# @param [String] host
|
|
94
|
+
# The host to connect to.
|
|
95
|
+
#
|
|
96
|
+
# @param [Integer] port
|
|
97
|
+
# The port to connect to.
|
|
98
|
+
#
|
|
99
|
+
# @!macro connect_kwargs
|
|
100
|
+
#
|
|
101
|
+
# @yield [http]
|
|
102
|
+
# If a block is given, it will be passed the newly created HTTP
|
|
103
|
+
# session object. Once the block returns, the HTTP session will be
|
|
104
|
+
# closed.
|
|
105
|
+
#
|
|
106
|
+
# @yieldparam [HTTP] http
|
|
107
|
+
# The HTTP session object.
|
|
108
|
+
#
|
|
109
|
+
# @return [HTTP, nil]
|
|
110
|
+
# The HTTP session object. If a block is given, then `nil` will be
|
|
111
|
+
# returned.
|
|
112
|
+
#
|
|
113
|
+
# @since 1.0.0
|
|
114
|
+
#
|
|
115
|
+
# @api public
|
|
116
|
+
#
|
|
117
|
+
def http_connect(host,port, ssl: nil, **kwargs,&block)
|
|
118
|
+
Network::HTTP.connect(host,port, ssl: ssl, **kwargs,&block)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
#
|
|
122
|
+
# Creates a HTTP connection using the URI.
|
|
123
|
+
#
|
|
124
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
125
|
+
# The URI to connect to.
|
|
126
|
+
#
|
|
127
|
+
# @!macro connect_kwargs
|
|
128
|
+
#
|
|
129
|
+
# @yield [http]
|
|
130
|
+
# If a block is given, it will be passed the newly created HTTP
|
|
131
|
+
# session object. Once the block returns, the HTTP session will be
|
|
132
|
+
# closed.
|
|
133
|
+
#
|
|
134
|
+
# @yieldparam [HTTP] http
|
|
135
|
+
# The HTTP session object.
|
|
136
|
+
#
|
|
137
|
+
# @return [HTTP, nil]
|
|
138
|
+
# The HTTP session object. If a block is given, then `nil` will be
|
|
139
|
+
# returned.
|
|
140
|
+
#
|
|
141
|
+
# @since 1.0.0
|
|
142
|
+
#
|
|
143
|
+
# @api public
|
|
144
|
+
#
|
|
145
|
+
def http_connect_uri(url, ssl: nil, **kwargs,&block)
|
|
146
|
+
Network::HTTP.connect_uri(url, ssl: ssl, **kwargs,&block)
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
#
|
|
150
|
+
# @!macro request_kwargs
|
|
151
|
+
# @option kwargs [String, nil] :query
|
|
152
|
+
# The query-string to append to the request path.
|
|
153
|
+
#
|
|
154
|
+
# @option kwargs [Hash, nil] :query_params
|
|
155
|
+
# The query-params to append to the request path.
|
|
156
|
+
#
|
|
157
|
+
# @option kwargs [String, nil] :user
|
|
158
|
+
# The user to authenticate as.
|
|
159
|
+
#
|
|
160
|
+
# @option kwargs [String, nil] :password
|
|
161
|
+
# The password to authenticate with.
|
|
162
|
+
#
|
|
163
|
+
# @option kwargs [Hash{Symbol,String => String}, nil] :headers
|
|
164
|
+
# Additional HTTP headers to use for the request.
|
|
165
|
+
#
|
|
166
|
+
# @option kwargs [String, Hash{String => String}, Cookie, nil] :cookie
|
|
167
|
+
# Additional `Cookie` header. If a `Hash` is given, it will be
|
|
168
|
+
# converted to a `String` using {Cookie}. If the cookie value is
|
|
169
|
+
# empty, the `Cookie` header will not be set.
|
|
170
|
+
#
|
|
171
|
+
# @option kwargs [String, nil] :body
|
|
172
|
+
# The body of the request.
|
|
173
|
+
#
|
|
174
|
+
# @option kwargs [Hash, String, nil] :form_data
|
|
175
|
+
# The form data that may be sent in the body of the request.
|
|
176
|
+
#
|
|
177
|
+
|
|
178
|
+
#
|
|
179
|
+
# Performs and arbitrary HTTP request.
|
|
180
|
+
#
|
|
181
|
+
# @param [Symbol, String] method
|
|
182
|
+
# The HTTP method to use for the request.
|
|
183
|
+
#
|
|
184
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
185
|
+
# Optional URL to create the HTTP request for.
|
|
186
|
+
#
|
|
187
|
+
# @!macro request_kwargs
|
|
188
|
+
# @!macro connect_kwargs
|
|
189
|
+
#
|
|
190
|
+
# @yield [response]
|
|
191
|
+
# If a block is given it will be passed the received HTTP response.
|
|
192
|
+
#
|
|
193
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
194
|
+
# The received HTTP response object.
|
|
195
|
+
#
|
|
196
|
+
# @return [Net::HTTPResponse]
|
|
197
|
+
# The new HTTP Request object.
|
|
198
|
+
#
|
|
199
|
+
# @raise [ArgumentError]
|
|
200
|
+
# The `:method` option did not match a known `Net::HTTP` request
|
|
201
|
+
# class.
|
|
202
|
+
#
|
|
203
|
+
# @see Network::HTTP.request
|
|
204
|
+
#
|
|
205
|
+
# @api public
|
|
206
|
+
#
|
|
207
|
+
def http_request(method,url, ssl: nil, **kwargs,&block)
|
|
208
|
+
Network::HTTP.request(method,url, ssl: ssl, **kwargs,&block)
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
#
|
|
212
|
+
# Sends an arbitrary HTTP request and returns the response status.
|
|
213
|
+
#
|
|
214
|
+
# @param [Symbol, String] method
|
|
215
|
+
# The HTTP method to use for the request.
|
|
216
|
+
#
|
|
217
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
218
|
+
# Optional URL to create the HTTP request for.
|
|
219
|
+
#
|
|
220
|
+
# @!macro request_kwargs
|
|
221
|
+
# @!macro connect_kwargs
|
|
222
|
+
#
|
|
223
|
+
# @return [Integer]
|
|
224
|
+
# The status code of the response.
|
|
225
|
+
#
|
|
226
|
+
# @see Network::HTTP.response_status
|
|
227
|
+
#
|
|
228
|
+
# @since 1.0.0
|
|
229
|
+
#
|
|
230
|
+
# @api public
|
|
231
|
+
#
|
|
232
|
+
def http_response_status(method=:head,url, ssl: nil, **kwargs)
|
|
233
|
+
Network::HTTP.response_status(method,url, ssl: ssl, **kwargs)
|
|
234
|
+
end
|
|
235
|
+
|
|
236
|
+
#
|
|
237
|
+
# Sends a HTTP request and determines if the response status was 200.
|
|
238
|
+
#
|
|
239
|
+
# @param [Symbol, String] method
|
|
240
|
+
# The HTTP method to use for the request.
|
|
241
|
+
#
|
|
242
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
243
|
+
# Optional URL to create the HTTP request for.
|
|
244
|
+
#
|
|
245
|
+
# @!macro request_kwargs
|
|
246
|
+
# @!macro connect_kwargs
|
|
247
|
+
#
|
|
248
|
+
# @return [Boolean]
|
|
249
|
+
# Indicates that the response status was 200.
|
|
250
|
+
#
|
|
251
|
+
# @see Network::HTTP.ok?
|
|
252
|
+
#
|
|
253
|
+
# @api public
|
|
254
|
+
#
|
|
255
|
+
def http_ok?(method=:head,url, ssl: nil, **kwargs)
|
|
256
|
+
Network::HTTP.ok?(method,url, ssl: ssl, **kwargs)
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
#
|
|
260
|
+
# Sends an arbitrary HTTP request and returns the response headers.
|
|
261
|
+
#
|
|
262
|
+
# @param [Symbol, String] method
|
|
263
|
+
# The HTTP method to use for the request.
|
|
264
|
+
#
|
|
265
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
266
|
+
# Optional URL to create the HTTP request for.
|
|
267
|
+
#
|
|
268
|
+
# @!macro request_kwargs
|
|
269
|
+
# @!macro connect_kwargs
|
|
270
|
+
#
|
|
271
|
+
# @return [Hash{String => String}]
|
|
272
|
+
# The response headers.
|
|
273
|
+
#
|
|
274
|
+
# @see Network::HTTP.response_headers
|
|
275
|
+
#
|
|
276
|
+
# @since 1.0.0
|
|
277
|
+
#
|
|
278
|
+
# @api public
|
|
279
|
+
#
|
|
280
|
+
def http_response_headers(method=:head,url, ssl: nil, **kwargs)
|
|
281
|
+
Network::HTTP.response_headers(method,url, ssl: ssl, **kwargs)
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
#
|
|
285
|
+
# Sends an HTTP request and returns the `Server` header.
|
|
286
|
+
#
|
|
287
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
288
|
+
# Optional URL to create the HTTP request for.
|
|
289
|
+
#
|
|
290
|
+
# @!macro connect_kwargs
|
|
291
|
+
# @!macro request_kwargs
|
|
292
|
+
#
|
|
293
|
+
# @return [String, nil]
|
|
294
|
+
# The `Server` header.
|
|
295
|
+
#
|
|
296
|
+
# @see Network::HTTP.server_header
|
|
297
|
+
#
|
|
298
|
+
# @since 1.0.0
|
|
299
|
+
#
|
|
300
|
+
# @api public
|
|
301
|
+
#
|
|
302
|
+
def http_server_header(url, ssl: nil, **kwargs)
|
|
303
|
+
Network::HTTP.server_header(url, ssl: ssl, **kwargs)
|
|
304
|
+
end
|
|
305
|
+
|
|
306
|
+
#
|
|
307
|
+
# Sends an HTTP request and returns the `X-Powered-By` header.
|
|
308
|
+
#
|
|
309
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
310
|
+
# Optional URL to create the HTTP request for.
|
|
311
|
+
#
|
|
312
|
+
# @!macro request_kwargs
|
|
313
|
+
# @!macro connect_kwargs
|
|
314
|
+
#
|
|
315
|
+
# @return [String, nil]
|
|
316
|
+
# The `X-Powered-By` header.
|
|
317
|
+
#
|
|
318
|
+
# @see Network::HTTP.powered_by_header
|
|
319
|
+
#
|
|
320
|
+
# @since 1.0.0
|
|
321
|
+
#
|
|
322
|
+
# @api public
|
|
323
|
+
#
|
|
324
|
+
def http_powered_by_header(url, ssl: nil, **kwargs)
|
|
325
|
+
Network::HTTP.powered_by_header(url, ssl: ssl, **kwargs)
|
|
326
|
+
end
|
|
327
|
+
|
|
328
|
+
#
|
|
329
|
+
# Sends an arbitrary HTTP request and returns the response body.
|
|
330
|
+
#
|
|
331
|
+
# @param [Symbol, String] method
|
|
332
|
+
# The HTTP method to use for the request.
|
|
333
|
+
#
|
|
334
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
335
|
+
# Optional URL to create the HTTP request for.
|
|
336
|
+
#
|
|
337
|
+
# @!macro request_kwargs
|
|
338
|
+
# @!macro connect_kwargs
|
|
339
|
+
#
|
|
340
|
+
# @return [String]
|
|
341
|
+
# The response body.
|
|
342
|
+
#
|
|
343
|
+
# @see Network::HTTP.response_body
|
|
344
|
+
#
|
|
345
|
+
# @since 1.0.0
|
|
346
|
+
#
|
|
347
|
+
# @api public
|
|
348
|
+
#
|
|
349
|
+
def http_response_body(method=:get,url, ssl: nil, **kwargs)
|
|
350
|
+
Network::HTTP.response_body(method,url, ssl: ssl, **kwargs)
|
|
351
|
+
end
|
|
352
|
+
|
|
353
|
+
#
|
|
354
|
+
# Performs a `COPY` request for the given URI.
|
|
355
|
+
#
|
|
356
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
357
|
+
# Optional URL to create the HTTP request for.
|
|
358
|
+
#
|
|
359
|
+
# @!macro request_kwargs
|
|
360
|
+
# @!macro connect_kwargs
|
|
361
|
+
#
|
|
362
|
+
# @yield [response]
|
|
363
|
+
# If a block is given it will be passed the received HTTP response.
|
|
364
|
+
#
|
|
365
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
366
|
+
# The received HTTP response object.
|
|
367
|
+
#
|
|
368
|
+
# @return [Net::HTTPResponse]
|
|
369
|
+
# The new HTTP Request object.
|
|
370
|
+
#
|
|
371
|
+
# @see Network::HTTP.copy
|
|
372
|
+
#
|
|
373
|
+
# @api public
|
|
374
|
+
#
|
|
375
|
+
def http_copy(url, ssl: nil, **kwargs)
|
|
376
|
+
Network::HTTP.copy(url, ssl: ssl, **kwargs)
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
#
|
|
380
|
+
# Performs a `DELETE` request for the given URI.
|
|
381
|
+
#
|
|
382
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
383
|
+
# Optional URL to create the HTTP request for.
|
|
384
|
+
#
|
|
385
|
+
# @!macro request_kwargs
|
|
386
|
+
# @!macro connect_kwargs
|
|
387
|
+
#
|
|
388
|
+
# @yield [response]
|
|
389
|
+
# If a block is given it will be passed the received HTTP response.
|
|
390
|
+
#
|
|
391
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
392
|
+
# The received HTTP response object.
|
|
393
|
+
#
|
|
394
|
+
# @return [Net::HTTPResponse]
|
|
395
|
+
# The new HTTP Request object.
|
|
396
|
+
#
|
|
397
|
+
# @see Network::HTTP.delete
|
|
398
|
+
#
|
|
399
|
+
# @api public
|
|
400
|
+
#
|
|
401
|
+
def http_delete(url, ssl: nil, **kwargs,&block)
|
|
402
|
+
Network::HTTP.delete(url, ssl: ssl, **kwargs,&block)
|
|
403
|
+
end
|
|
404
|
+
|
|
405
|
+
#
|
|
406
|
+
# Performs a `GET` request for the given URI.
|
|
407
|
+
#
|
|
408
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
409
|
+
# Optional URL to create the HTTP request for.
|
|
410
|
+
#
|
|
411
|
+
# @!macro request_kwargs
|
|
412
|
+
# @!macro connect_kwargs
|
|
413
|
+
#
|
|
414
|
+
# @yield [response]
|
|
415
|
+
# If a block is given it will be passed the received HTTP response.
|
|
416
|
+
#
|
|
417
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
418
|
+
# The received HTTP response object.
|
|
419
|
+
#
|
|
420
|
+
# @return [Net::HTTPResponse]
|
|
421
|
+
# The new HTTP Request object.
|
|
422
|
+
#
|
|
423
|
+
# @see Network::HTTP.get
|
|
424
|
+
#
|
|
425
|
+
# @api public
|
|
426
|
+
#
|
|
427
|
+
def http_get(url, ssl: nil, **kwargs,&block)
|
|
428
|
+
Network::HTTP.get(url, ssl: ssl, **kwargs,&block)
|
|
429
|
+
end
|
|
430
|
+
|
|
431
|
+
#
|
|
432
|
+
# Performs a `GET` request for the given URI and returns the response
|
|
433
|
+
# headers.
|
|
434
|
+
#
|
|
435
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
436
|
+
# Optional URL to create the HTTP request for.
|
|
437
|
+
#
|
|
438
|
+
# @!macro request_kwargs
|
|
439
|
+
# @!macro connect_kwargs
|
|
440
|
+
#
|
|
441
|
+
# @return [Hash{String => String}]
|
|
442
|
+
# The response headers.
|
|
443
|
+
#
|
|
444
|
+
# @see Network::HTTP.get_headers
|
|
445
|
+
#
|
|
446
|
+
# @since 0.2.0
|
|
447
|
+
#
|
|
448
|
+
# @api public
|
|
449
|
+
#
|
|
450
|
+
def http_get_headers(url, ssl: nil, **kwargs)
|
|
451
|
+
Network::HTTP.get_headers(url, ssl: ssl, **kwargs)
|
|
452
|
+
end
|
|
453
|
+
|
|
454
|
+
#
|
|
455
|
+
# Sends an HTTP request and returns the parsed `Set-Cookie`
|
|
456
|
+
# header(s).
|
|
457
|
+
#
|
|
458
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
459
|
+
# Optional URL to create the HTTP request for.
|
|
460
|
+
#
|
|
461
|
+
# @!macro request_kwargs
|
|
462
|
+
# @!macro connect_kwargs
|
|
463
|
+
#
|
|
464
|
+
# @return [Array<SetCookie>, nil]
|
|
465
|
+
# The parsed `SetCookie` header(s).
|
|
466
|
+
#
|
|
467
|
+
# @see Network::HTTP.get_cookies
|
|
468
|
+
#
|
|
469
|
+
# @api public
|
|
470
|
+
#
|
|
471
|
+
def http_get_cookies(url, ssl: nil, **kwargs)
|
|
472
|
+
Network::HTTP.get_cookies(url, ssl: ssl, **kwargs)
|
|
473
|
+
end
|
|
474
|
+
|
|
475
|
+
#
|
|
476
|
+
# Performs a `GET` request for the given URI and returns the response
|
|
477
|
+
# body.
|
|
478
|
+
#
|
|
479
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
480
|
+
# Optional URL to create the HTTP request for.
|
|
481
|
+
#
|
|
482
|
+
# @!macro request_kwargs
|
|
483
|
+
# @!macro connect_kwargs
|
|
484
|
+
#
|
|
485
|
+
# @return [String]
|
|
486
|
+
# The response body.
|
|
487
|
+
#
|
|
488
|
+
# @see Network::HTTP.get_body
|
|
489
|
+
#
|
|
490
|
+
# @api public
|
|
491
|
+
#
|
|
492
|
+
def http_get_body(url, ssl: nil, **kwargs)
|
|
493
|
+
Network::HTTP.get_body(url, ssl: ssl, **kwargs)
|
|
494
|
+
end
|
|
495
|
+
|
|
496
|
+
#
|
|
497
|
+
# Performs a `HEAD` request for the given URI.
|
|
498
|
+
#
|
|
499
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
500
|
+
# Optional URL to create the HTTP request for.
|
|
501
|
+
#
|
|
502
|
+
# @!macro request_kwargs
|
|
503
|
+
# @!macro connect_kwargs
|
|
504
|
+
#
|
|
505
|
+
# @yield [response]
|
|
506
|
+
# If a block is given it will be passed the received HTTP response.
|
|
507
|
+
#
|
|
508
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
509
|
+
# The received HTTP response object.
|
|
510
|
+
#
|
|
511
|
+
# @return [Net::HTTPResponse]
|
|
512
|
+
# The new HTTP Request object.
|
|
513
|
+
#
|
|
514
|
+
# @see Network::HTTP.head
|
|
515
|
+
#
|
|
516
|
+
# @api public
|
|
517
|
+
#
|
|
518
|
+
def http_head(url, ssl: nil, **kwargs,&block)
|
|
519
|
+
Network::HTTP.head(url, ssl: ssl, **kwargs,&block)
|
|
520
|
+
end
|
|
521
|
+
|
|
522
|
+
#
|
|
523
|
+
# Performs a `LOCK` request for the given URI.
|
|
524
|
+
#
|
|
525
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
526
|
+
# Optional URL to create the HTTP request for.
|
|
527
|
+
#
|
|
528
|
+
# @!macro request_kwargs
|
|
529
|
+
# @!macro connect_kwargs
|
|
530
|
+
#
|
|
531
|
+
# @yield [response]
|
|
532
|
+
# If a block is given it will be passed the received HTTP response.
|
|
533
|
+
#
|
|
534
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
535
|
+
# The received HTTP response object.
|
|
536
|
+
#
|
|
537
|
+
# @return [Net::HTTPResponse]
|
|
538
|
+
# The new HTTP Request object.
|
|
539
|
+
#
|
|
540
|
+
# @see Network::HTTP.lock
|
|
541
|
+
#
|
|
542
|
+
# @api public
|
|
543
|
+
#
|
|
544
|
+
def http_lock(url, ssl: nil, **kwargs,&block)
|
|
545
|
+
Network::HTTP.lock(url, ssl: ssl, **kwargs,&block)
|
|
546
|
+
end
|
|
547
|
+
|
|
548
|
+
#
|
|
549
|
+
# Performs a `MKCOL` request for the given URI.
|
|
550
|
+
#
|
|
551
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
552
|
+
# Optional URL to create the HTTP request for.
|
|
553
|
+
#
|
|
554
|
+
# @!macro request_kwargs
|
|
555
|
+
# @!macro connect_kwargs
|
|
556
|
+
#
|
|
557
|
+
# @yield [response]
|
|
558
|
+
# If a block is given it will be passed the received HTTP response.
|
|
559
|
+
#
|
|
560
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
561
|
+
# The received HTTP response object.
|
|
562
|
+
#
|
|
563
|
+
# @return [Net::HTTPResponse]
|
|
564
|
+
# The new HTTP Request object.
|
|
565
|
+
#
|
|
566
|
+
# @see Network::HTTP.mkcol
|
|
567
|
+
#
|
|
568
|
+
# @api public
|
|
569
|
+
#
|
|
570
|
+
def http_mkcol(url, ssl: nil, **kwargs,&block)
|
|
571
|
+
Network::HTTP.mkcol(url, ssl: ssl, **kwargs,&block)
|
|
572
|
+
end
|
|
573
|
+
|
|
574
|
+
#
|
|
575
|
+
# Performs a `MOVE` request for the given URI.
|
|
576
|
+
#
|
|
577
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
578
|
+
# Optional URL to create the HTTP request for.
|
|
579
|
+
#
|
|
580
|
+
# @!macro request_kwargs
|
|
581
|
+
# @!macro connect_kwargs
|
|
582
|
+
#
|
|
583
|
+
# @yield [response]
|
|
584
|
+
# If a block is given it will be passed the received HTTP response.
|
|
585
|
+
#
|
|
586
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
587
|
+
# The received HTTP response object.
|
|
588
|
+
#
|
|
589
|
+
# @return [Net::HTTPResponse]
|
|
590
|
+
# The new HTTP Request object.
|
|
591
|
+
#
|
|
592
|
+
# @see Network::HTTP.move
|
|
593
|
+
#
|
|
594
|
+
# @api public
|
|
595
|
+
#
|
|
596
|
+
def http_move(url, ssl: nil, **kwargs,&block)
|
|
597
|
+
Network::HTTP.move(url, ssl: ssl, **kwargs,&block)
|
|
598
|
+
end
|
|
599
|
+
|
|
600
|
+
#
|
|
601
|
+
# Performs a `OPTIONS` request for the given URI.
|
|
602
|
+
#
|
|
603
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
604
|
+
# Optional URL to create the HTTP request for.
|
|
605
|
+
#
|
|
606
|
+
# @!macro request_kwargs
|
|
607
|
+
# @!macro connect_kwargs
|
|
608
|
+
#
|
|
609
|
+
# @yield [response]
|
|
610
|
+
# If a block is given it will be passed the received HTTP response.
|
|
611
|
+
#
|
|
612
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
613
|
+
# The received HTTP response object.
|
|
614
|
+
#
|
|
615
|
+
# @return [Net::HTTPResponse]
|
|
616
|
+
# The new HTTP Request object.
|
|
617
|
+
#
|
|
618
|
+
# @see Network::HTTP.options
|
|
619
|
+
#
|
|
620
|
+
# @api public
|
|
621
|
+
#
|
|
622
|
+
def http_options(url, ssl: nil, **kwargs,&block)
|
|
623
|
+
Network::HTTP.options(url, ssl: ssl, **kwargs,&block)
|
|
624
|
+
end
|
|
625
|
+
|
|
626
|
+
#
|
|
627
|
+
# Performs a `OPTIONS` HTTP request for the given URI and parses the
|
|
628
|
+
# `Allow` response header.
|
|
629
|
+
#
|
|
630
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
631
|
+
# Optional URL to create the HTTP request for.
|
|
632
|
+
#
|
|
633
|
+
# @!macro request_kwargs
|
|
634
|
+
# @!macro connect_kwargs
|
|
635
|
+
#
|
|
636
|
+
# @yield [response]
|
|
637
|
+
# If a block is given it will be passed the received HTTP response.
|
|
638
|
+
#
|
|
639
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
640
|
+
# The received HTTP response object.
|
|
641
|
+
#
|
|
642
|
+
# @return [Array<Symbol>]
|
|
643
|
+
# The allowed HTTP request methods for the given URL.
|
|
644
|
+
#
|
|
645
|
+
# @see Network::HTTP.allowed_methods
|
|
646
|
+
#
|
|
647
|
+
# @api public
|
|
648
|
+
#
|
|
649
|
+
def http_allowed_methods(url, ssl: nil, **kwargs,&block)
|
|
650
|
+
Network::HTTP.allowed_methods(url, ssl: ssl, **kwargs,&block)
|
|
651
|
+
end
|
|
652
|
+
|
|
653
|
+
#
|
|
654
|
+
# Performs a `PATCH` request for the given URI.
|
|
655
|
+
#
|
|
656
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
657
|
+
# Optional URL to create the HTTP request for.
|
|
658
|
+
#
|
|
659
|
+
# @!macro request_kwargs
|
|
660
|
+
# @!macro connect_kwargs
|
|
661
|
+
#
|
|
662
|
+
# @yield [response]
|
|
663
|
+
# If a block is given it will be passed the received HTTP response.
|
|
664
|
+
#
|
|
665
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
666
|
+
# The received HTTP response object.
|
|
667
|
+
#
|
|
668
|
+
# @return [Net::HTTPResponse]
|
|
669
|
+
# The new HTTP Request object.
|
|
670
|
+
#
|
|
671
|
+
# @see Network::HTTP.patch
|
|
672
|
+
#
|
|
673
|
+
# @since 1.0.0
|
|
674
|
+
#
|
|
675
|
+
# @api public
|
|
676
|
+
#
|
|
677
|
+
def http_patch(url, ssl: nil, **kwargs,&block)
|
|
678
|
+
Network::HTTP.patch(url, ssl: ssl, **kwargs,&block)
|
|
679
|
+
end
|
|
680
|
+
|
|
681
|
+
#
|
|
682
|
+
# Performs a `POST` request for the given URI.
|
|
683
|
+
#
|
|
684
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
685
|
+
# Optional URL to create the HTTP request for.
|
|
686
|
+
#
|
|
687
|
+
# @!macro request_kwargs
|
|
688
|
+
# @!macro connect_kwargs
|
|
689
|
+
#
|
|
690
|
+
# @yield [response]
|
|
691
|
+
# If a block is given it will be passed the received HTTP response.
|
|
692
|
+
#
|
|
693
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
694
|
+
# The received HTTP response object.
|
|
695
|
+
#
|
|
696
|
+
# @return [Net::HTTPResponse]
|
|
697
|
+
# The new HTTP Request object.
|
|
698
|
+
#
|
|
699
|
+
# @see Network::HTTP.post
|
|
700
|
+
#
|
|
701
|
+
# @api public
|
|
702
|
+
#
|
|
703
|
+
def http_post(url, ssl: nil, **kwargs,&block)
|
|
704
|
+
Network::HTTP.post(url, ssl: ssl, **kwargs,&block)
|
|
705
|
+
end
|
|
706
|
+
|
|
707
|
+
#
|
|
708
|
+
# Performs a `POST` request on the given URI and returns the response
|
|
709
|
+
# headers.
|
|
710
|
+
#
|
|
711
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
712
|
+
# Optional URL to create the HTTP request for.
|
|
713
|
+
#
|
|
714
|
+
# @!macro request_kwargs
|
|
715
|
+
# @!macro connect_kwargs
|
|
716
|
+
#
|
|
717
|
+
# @return [Hash{String => String}]
|
|
718
|
+
# The response headers.
|
|
719
|
+
#
|
|
720
|
+
# @see Network::HTTP.post_headers
|
|
721
|
+
#
|
|
722
|
+
# @since 0.2.0
|
|
723
|
+
#
|
|
724
|
+
# @api public
|
|
725
|
+
#
|
|
726
|
+
def http_post_headers(url, ssl: nil, **kwargs)
|
|
727
|
+
Network::HTTP.post_headers(url, ssl: ssl, **kwargs)
|
|
728
|
+
end
|
|
729
|
+
|
|
730
|
+
#
|
|
731
|
+
# Performs a `POST` request for the given URI and returns the
|
|
732
|
+
# response body.
|
|
733
|
+
#
|
|
734
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
735
|
+
# Optional URL to create the HTTP request for.
|
|
736
|
+
#
|
|
737
|
+
# @!macro request_kwargs
|
|
738
|
+
# @!macro connect_kwargs
|
|
739
|
+
#
|
|
740
|
+
# @return [String]
|
|
741
|
+
# The response body.
|
|
742
|
+
#
|
|
743
|
+
# @see Network::HTTP.post_body
|
|
744
|
+
#
|
|
745
|
+
# @api public
|
|
746
|
+
#
|
|
747
|
+
def http_post_body(url, ssl: nil, **kwargs)
|
|
748
|
+
Network::HTTP.post_body(url, ssl: ssl, **kwargs)
|
|
749
|
+
end
|
|
750
|
+
|
|
751
|
+
#
|
|
752
|
+
# Performs a `PROPFIND` request for the given URI.
|
|
753
|
+
#
|
|
754
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
755
|
+
# Optional URL to create the HTTP request for.
|
|
756
|
+
#
|
|
757
|
+
# @!macro request_kwargs
|
|
758
|
+
# @!macro connect_kwargs
|
|
759
|
+
#
|
|
760
|
+
# @yield [response]
|
|
761
|
+
# If a block is given it will be passed the received HTTP response.
|
|
762
|
+
#
|
|
763
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
764
|
+
# The received HTTP response object.
|
|
765
|
+
#
|
|
766
|
+
# @return [Net::HTTPResponse]
|
|
767
|
+
# The new HTTP Request object.
|
|
768
|
+
#
|
|
769
|
+
# @see Network::HTTP.propfind
|
|
770
|
+
#
|
|
771
|
+
# @api public
|
|
772
|
+
#
|
|
773
|
+
def http_propfind(url, ssl: nil, **kwargs,&block)
|
|
774
|
+
Network::HTTP.propfind(url, ssl: ssl, **kwargs,&block)
|
|
775
|
+
end
|
|
776
|
+
|
|
777
|
+
alias http_prop_find http_propfind
|
|
778
|
+
|
|
779
|
+
#
|
|
780
|
+
# Performs a `PROPPATCH` request for the given URI.
|
|
781
|
+
#
|
|
782
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
783
|
+
# Optional URL to create the HTTP request for.
|
|
784
|
+
#
|
|
785
|
+
# @!macro request_kwargs
|
|
786
|
+
# @!macro connect_kwargs
|
|
787
|
+
#
|
|
788
|
+
# @yield [response]
|
|
789
|
+
# If a block is given it will be passed the received HTTP response.
|
|
790
|
+
#
|
|
791
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
792
|
+
# The received HTTP response object.
|
|
793
|
+
#
|
|
794
|
+
# @return [Net::HTTPResponse]
|
|
795
|
+
# The new HTTP Request object.
|
|
796
|
+
#
|
|
797
|
+
# @see Network::HTTP.proppatch
|
|
798
|
+
#
|
|
799
|
+
# @api public
|
|
800
|
+
#
|
|
801
|
+
def http_proppatch(url, ssl: nil, **kwargs,&block)
|
|
802
|
+
Network::HTTP.proppatch(url, ssl: ssl, **kwargs,&block)
|
|
803
|
+
end
|
|
804
|
+
|
|
805
|
+
alias http_prop_patch http_proppatch
|
|
806
|
+
|
|
807
|
+
#
|
|
808
|
+
# Performs a `PUT` request for the given URI.
|
|
809
|
+
#
|
|
810
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
811
|
+
# Optional URL to create the HTTP request for.
|
|
812
|
+
#
|
|
813
|
+
# @!macro request_kwargs
|
|
814
|
+
# @!macro connect_kwargs
|
|
815
|
+
#
|
|
816
|
+
# @yield [response]
|
|
817
|
+
# If a block is given it will be passed the received HTTP response.
|
|
818
|
+
#
|
|
819
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
820
|
+
# The received HTTP response object.
|
|
821
|
+
#
|
|
822
|
+
# @return [Net::HTTPResponse]
|
|
823
|
+
# The new HTTP Request object.
|
|
824
|
+
#
|
|
825
|
+
# @see Network::HTTP.put
|
|
826
|
+
#
|
|
827
|
+
# @since 0.4.0
|
|
828
|
+
#
|
|
829
|
+
# @api public
|
|
830
|
+
#
|
|
831
|
+
def http_put(url, ssl: nil, **kwargs,&block)
|
|
832
|
+
Network::HTTP.put(url, ssl: ssl, **kwargs,&block)
|
|
833
|
+
end
|
|
834
|
+
|
|
835
|
+
#
|
|
836
|
+
# Performs a `TRACE` request for the given URI.
|
|
837
|
+
#
|
|
838
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
839
|
+
# Optional URL to create the HTTP request for.
|
|
840
|
+
#
|
|
841
|
+
# @!macro request_kwargs
|
|
842
|
+
# @!macro connect_kwargs
|
|
843
|
+
#
|
|
844
|
+
# @yield [response]
|
|
845
|
+
# If a block is given it will be passed the received HTTP response.
|
|
846
|
+
#
|
|
847
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
848
|
+
# The received HTTP response object.
|
|
849
|
+
#
|
|
850
|
+
# @return [Net::HTTPResponse]
|
|
851
|
+
# The new HTTP Request object.
|
|
852
|
+
#
|
|
853
|
+
# @see Network::HTTP.trace
|
|
854
|
+
#
|
|
855
|
+
# @api public
|
|
856
|
+
#
|
|
857
|
+
def http_trace(url, ssl: nil, **kwargs,&block)
|
|
858
|
+
Network::HTTP.trace(url, ssl: ssl, **kwargs,&block)
|
|
859
|
+
end
|
|
860
|
+
|
|
861
|
+
#
|
|
862
|
+
# Performs a `UNLOCK` request for the given URI.
|
|
863
|
+
#
|
|
864
|
+
# @param [URI::HTTP, Addressable::URI, String] url
|
|
865
|
+
# Optional URL to create the HTTP request for.
|
|
866
|
+
#
|
|
867
|
+
# @!macro request_kwargs
|
|
868
|
+
# @!macro connect_kwargs
|
|
869
|
+
#
|
|
870
|
+
# @yield [response]
|
|
871
|
+
# If a block is given it will be passed the received HTTP response.
|
|
872
|
+
#
|
|
873
|
+
# @yieldparam [Net::HTTPRresponse] response
|
|
874
|
+
# The received HTTP response object.
|
|
875
|
+
#
|
|
876
|
+
# @return [Net::HTTPResponse]
|
|
877
|
+
# The new HTTP Request object.
|
|
878
|
+
#
|
|
879
|
+
# @see Network::HTTP.unlock
|
|
880
|
+
#
|
|
881
|
+
# @api public
|
|
882
|
+
#
|
|
883
|
+
def http_unlock(url, ssl: nil, **kwargs,&block)
|
|
884
|
+
Network::HTTP.unlock(url, ssl: ssl, **kwargs,&block)
|
|
885
|
+
end
|
|
886
|
+
end
|
|
887
|
+
end
|
|
888
|
+
end
|
|
889
|
+
end
|
|
890
|
+
end
|