plyom_user 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/plyom_user/version.rb +1 -1
- data/lib/plyom_user.rb +4 -3
- data/vendor/bundle/ruby/2.0.0/bin/httparty +23 -0
- data/vendor/bundle/ruby/2.0.0/bin/rake +23 -0
- data/vendor/bundle/ruby/2.0.0/build_info/httparty-0.11.0.info +1 -0
- data/vendor/bundle/ruby/2.0.0/build_info/multi_json-1.8.2.info +1 -0
- data/vendor/bundle/ruby/2.0.0/build_info/multi_xml-0.5.5.info +1 -0
- data/vendor/bundle/ruby/2.0.0/build_info/rake-10.1.1.info +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/.gitignore +10 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/.travis.yml +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/Gemfile +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/Guardfile +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/History +303 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/MIT-LICENSE +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/README.md +79 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/Rakefile +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/bin/httparty +114 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/cucumber.yml +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/aaws.rb +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/basic.rb +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/crack.rb +19 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/custom_parsers.rb +67 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/delicious.rb +37 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/google.rb +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/headers_and_user_agents.rb +6 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/nokogiri_html_parser.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/rubyurl.rb +14 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/tripit_sign_in.rb +33 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/twitter.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/examples/whoismyrep.rb +10 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/basic_authentication.feature +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/command_line.feature +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/deals_with_http_error_codes.feature +26 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/digest_authentication.feature +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/handles_compressed_responses.feature +19 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/handles_multiple_formats.feature +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/steps/env.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/steps/httparty_response_steps.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/steps/httparty_steps.rb +27 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/steps/mongrel_helper.rb +94 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/steps/remote_service_steps.rb +69 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/supports_redirection.feature +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/features/supports_timeout_option.feature +13 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/httparty.gemspec +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/connection_adapter.rb +134 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/cookie_hash.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/core_extensions.rb +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/exceptions.rb +26 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/hash_conversions.rb +51 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/module_inheritable_attributes.rb +56 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/net_digest_auth.rb +84 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/parser.rb +139 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/request.rb +250 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/response/headers.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/response.rb +67 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/version.rb +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty.rb +534 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/delicious.xml +23 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/empty.xml +0 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/google.html +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/ssl/generate.sh +29 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/ssl/generated/1fe462c2.0 +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/ssl/generated/bogushost.crt +13 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/ssl/generated/ca.crt +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/ssl/generated/ca.key +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/ssl/generated/selfsigned.crt +14 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/ssl/generated/server.crt +13 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/ssl/generated/server.key +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/ssl/openssl-exts.cnf +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/twitter.json +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/twitter.xml +403 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/fixtures/undefined_method_add_node_for_nil.xml +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/httparty/connection_adapter_spec.rb +223 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/httparty/cookie_hash_spec.rb +76 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/httparty/net_digest_auth_spec.rb +115 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/httparty/parser_spec.rb +166 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/httparty/request_spec.rb +514 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/httparty/response_spec.rb +221 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/httparty/ssl_spec.rb +62 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/httparty_spec.rb +733 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/spec.opts +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/spec_helper.rb +30 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/support/ssl_test_helper.rb +47 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/support/ssl_test_server.rb +80 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/spec/support/stub_response.rb +43 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/website/css/common.css +47 -0
- data/vendor/bundle/ruby/2.0.0/gems/httparty-0.11.0/website/index.html +73 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/.document +5 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/.rspec +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/.travis.yml +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/.yardopts +6 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/CHANGELOG.md +185 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/CONTRIBUTING.md +46 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/Gemfile +30 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/LICENSE.md +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/README.md +108 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/Rakefile +25 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/adapter.rb +57 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/adapters/gson.rb +19 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/adapters/jr_jackson.rb +19 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/adapters/json_common.rb +25 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/adapters/json_gem.rb +11 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/adapters/json_pure.rb +11 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/adapters/nsjsonserialization.rb +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/adapters/oj.rb +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/adapters/ok_json.rb +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/adapters/yajl.rb +19 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/convertible_hash_keys.rb +43 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/load_error.rb +11 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/options.rb +48 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/vendor/okjson.rb +606 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json/version.rb +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/lib/multi_json.rb +159 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/multi_json.gemspec +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/gson_adapter_spec.rb +10 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/jr_jackson_adapter_spec.rb +10 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/json_gem_adapter_spec.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/json_pure_adapter_spec.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/multi_json_spec.rb +193 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/nsjsonserialization_adapter_spec.rb +10 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/oj_adapter_spec.rb +10 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/ok_json_adapter_spec.rb +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/shared/adapter.rb +230 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/shared/json_common_adapter.rb +30 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/shared/options.rb +119 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/spec_helper.rb +73 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_json-1.8.2/spec/yajl_adapter_spec.rb +10 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/.yardopts +8 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/CHANGELOG.md +93 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/CONTRIBUTING.md +49 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/LICENSE.md +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/README.md +97 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/Rakefile +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/lib/multi_xml/parsers/libxml.rb +30 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/lib/multi_xml/parsers/libxml2_parser.rb +74 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/lib/multi_xml/parsers/nokogiri.rb +32 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/lib/multi_xml/parsers/ox.rb +97 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/lib/multi_xml/parsers/rexml.rb +113 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/lib/multi_xml/version.rb +3 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/lib/multi_xml.rb +296 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/multi_xml.gemspec +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/spec/helper.rb +17 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/spec/multi_xml_spec.rb +43 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/spec/parser_shared_example.rb +694 -0
- data/vendor/bundle/ruby/2.0.0/gems/multi_xml-0.5.5/spec/speed.rb +63 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/.gemtest +0 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/CHANGES +530 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/MIT-LICENSE +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/README.rdoc +187 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/Rakefile +374 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/TODO +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/bin/rake +33 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/install.rb +80 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/alt_system.rb +108 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/application.rb +728 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/backtrace.rb +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/clean.rb +55 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/cloneable.rb +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/contrib/compositepublisher.rb +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/contrib/ftptools.rb +139 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/contrib/publisher.rb +73 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/contrib/rubyforgepublisher.rb +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/contrib/sshpublisher.rb +50 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/contrib/sys.rb +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/default_loader.rb +10 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/dsl_definition.rb +157 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/early_time.rb +18 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/ext/core.rb +28 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/ext/module.rb +0 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/ext/string.rb +166 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/ext/time.rb +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/file_creation_task.rb +24 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/file_list.rb +416 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/file_task.rb +46 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/file_utils.rb +116 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/file_utils_ext.rb +144 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/gempackagetask.rb +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/invocation_chain.rb +57 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/invocation_exception_mixin.rb +16 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/linked_list.rb +103 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/loaders/makefile.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/multi_task.rb +13 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/name_space.rb +25 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/packagetask.rb +190 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/pathmap.rb +1 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/phony.rb +15 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/private_reader.rb +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/promise.rb +99 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/pseudo_status.rb +29 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/rake_module.rb +37 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/rake_test_loader.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/rdoctask.rb +2 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/ruby182_test_unit_fix.rb +27 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/runtest.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/scope.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/task.rb +378 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/task_argument_error.rb +7 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/task_arguments.rb +89 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/task_manager.rb +297 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/tasklib.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/testtask.rb +201 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/thread_history_display.rb +48 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/thread_pool.rb +161 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/trace_output.rb +22 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/version.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake/win32.rb +56 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/lib/rake.rb +73 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/file_creation.rb +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/helper.rb +128 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/support/rakefile_definitions.rb +444 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/support/ruby_runner.rb +33 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_private_reader.rb +42 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_application.rb +517 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_application_options.rb +457 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_backtrace.rb +113 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_clean.rb +46 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_definitions.rb +79 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_directory_task.rb +57 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_dsl.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_early_time.rb +31 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_extension.rb +59 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_file_creation_task.rb +56 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_file_list.rb +627 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_file_list_path_map.rb +8 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_file_task.rb +122 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_file_utils.rb +309 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_ftp_file.rb +74 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_functional.rb +466 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_invocation_chain.rb +64 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_linked_list.rb +84 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_makefile_loader.rb +46 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_multi_task.rb +58 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_name_space.rb +43 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_package_task.rb +79 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_path_map.rb +168 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_path_map_explode.rb +34 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_path_map_partial.rb +18 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_pseudo_status.rb +21 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_rake_test_loader.rb +20 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_reduce_compat.rb +26 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_require.rb +40 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_rules.rb +362 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_scope.rb +44 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_task.rb +376 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_task_argument_parsing.rb +103 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_task_arguments.rb +121 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_task_lib.rb +9 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_task_manager.rb +158 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_task_manager_argument_resolution.rb +19 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_task_with_arguments.rb +171 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_test_task.rb +119 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_thread_pool.rb +142 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_top_level_functions.rb +71 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_rake_win32.rb +72 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_thread_history_display.rb +101 -0
- data/vendor/bundle/ruby/2.0.0/gems/rake-10.1.1/test/test_trace_output.rb +52 -0
- data/vendor/bundle/ruby/2.0.0/specifications/httparty-0.11.0.gemspec +34 -0
- data/vendor/bundle/ruby/2.0.0/specifications/multi_json-1.8.2.gemspec +30 -0
- data/vendor/bundle/ruby/2.0.0/specifications/multi_xml-0.5.5.gemspec +30 -0
- data/vendor/bundle/ruby/2.0.0/specifications/rake-10.1.1.gemspec +34 -0
- metadata +262 -2
@@ -0,0 +1,534 @@
|
|
1
|
+
require 'pathname'
|
2
|
+
require 'net/http'
|
3
|
+
require 'net/https'
|
4
|
+
require 'uri'
|
5
|
+
require 'zlib'
|
6
|
+
require 'multi_xml'
|
7
|
+
require 'multi_json'
|
8
|
+
|
9
|
+
require 'httparty/module_inheritable_attributes'
|
10
|
+
require 'httparty/cookie_hash'
|
11
|
+
require 'httparty/net_digest_auth'
|
12
|
+
require 'httparty/version'
|
13
|
+
require 'httparty/connection_adapter'
|
14
|
+
|
15
|
+
# @see HTTParty::ClassMethods
|
16
|
+
module HTTParty
|
17
|
+
module AllowedFormatsDeprecation
|
18
|
+
def const_missing(const)
|
19
|
+
if const.to_s =~ /AllowedFormats$/
|
20
|
+
Kernel.warn("Deprecated: Use HTTParty::Parser::SupportedFormats")
|
21
|
+
HTTParty::Parser::SupportedFormats
|
22
|
+
else
|
23
|
+
super
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
extend AllowedFormatsDeprecation
|
29
|
+
|
30
|
+
def self.included(base)
|
31
|
+
base.extend ClassMethods
|
32
|
+
base.send :include, HTTParty::ModuleInheritableAttributes
|
33
|
+
base.send(:mattr_inheritable, :default_options)
|
34
|
+
base.send(:mattr_inheritable, :default_cookies)
|
35
|
+
base.instance_variable_set("@default_options", {})
|
36
|
+
base.instance_variable_set("@default_cookies", CookieHash.new)
|
37
|
+
end
|
38
|
+
|
39
|
+
# == Common Request Options
|
40
|
+
# Request methods (get, post, patch, put, delete, head, options) all take a common set of options. These are:
|
41
|
+
#
|
42
|
+
# [:+body+:] Body of the request. If passed a Hash, will try to normalize it first, by default passing it to ActiveSupport::to_params. Any other kind of object will get used as-is.
|
43
|
+
# [:+http_proxyaddr+:] Address of proxy server to use.
|
44
|
+
# [:+http_proxyport+:] Port of proxy server to use.
|
45
|
+
# [:+http_proxyuser+:] User for proxy server authentication.
|
46
|
+
# [:+http_proxypass+:] Password for proxy server authentication.
|
47
|
+
# [:+limit+:] Maximum number of redirects to follow. Takes precedences over :+no_follow+.
|
48
|
+
# [:+query+:] Query string, or a Hash representing it. Normalized according to the same rules as :+body+. If you specify this on a POST, you must use a Hash. See also HTTParty::ClassMethods.default_params.
|
49
|
+
# [:+timeout+:] Timeout for opening connection and reading data.
|
50
|
+
#
|
51
|
+
# There are also another set of options with names corresponding to various class methods. The methods in question are those that let you set a class-wide default, and the options override the defaults on a request-by-request basis. Those options are:
|
52
|
+
# * :+base_uri+: see HTTParty::ClassMethods.base_uri.
|
53
|
+
# * :+basic_auth+: see HTTParty::ClassMethods.basic_auth. Only one of :+basic_auth+ and :+digest_auth+ can be used at a time; if you try using both, you'll get an ArgumentError.
|
54
|
+
# * :+debug_output+: see HTTParty::ClassMethods.debug_output.
|
55
|
+
# * :+digest_auth+: see HTTParty::ClassMethods.digest_auth. Only one of :+basic_auth+ and :+digest_auth+ can be used at a time; if you try using both, you'll get an ArgumentError.
|
56
|
+
# * :+format+: see HTTParty::ClassMethods.format.
|
57
|
+
# * :+headers+: see HTTParty::ClassMethods.headers. Must be a Hash.
|
58
|
+
# * :+maintain_method_across_redirects+: see HTTParty::ClassMethods.maintain_method_across_redirects.
|
59
|
+
# * :+no_follow+: see HTTParty::ClassMethods.no_follow.
|
60
|
+
# * :+parser+: see HTTParty::ClassMethods.parser.
|
61
|
+
# * :+connection_adapter+: see HTTParty::ClassMethods.connection_adapter.
|
62
|
+
# * :+pem+: see HTTParty::ClassMethods.pem.
|
63
|
+
# * :+query_string_normalizer+: see HTTParty::ClassMethods.query_string_normalizer
|
64
|
+
# * :+ssl_ca_file+: see HTTParty::ClassMethods.ssl_ca_file.
|
65
|
+
# * :+ssl_ca_path+: see HTTParty::ClassMethods.ssl_ca_path.
|
66
|
+
|
67
|
+
module ClassMethods
|
68
|
+
|
69
|
+
extend AllowedFormatsDeprecation
|
70
|
+
|
71
|
+
# Allows setting http proxy information to be used
|
72
|
+
#
|
73
|
+
# class Foo
|
74
|
+
# include HTTParty
|
75
|
+
# http_proxy 'http://foo.com', 80, 'user', 'pass'
|
76
|
+
# end
|
77
|
+
def http_proxy(addr=nil, port=nil, user=nil, pass=nil)
|
78
|
+
default_options[:http_proxyaddr] = addr
|
79
|
+
default_options[:http_proxyport] = port
|
80
|
+
default_options[:http_proxyuser] = user
|
81
|
+
default_options[:http_proxypass] = pass
|
82
|
+
end
|
83
|
+
|
84
|
+
# Allows setting a base uri to be used for each request.
|
85
|
+
# Will normalize uri to include http, etc.
|
86
|
+
#
|
87
|
+
# class Foo
|
88
|
+
# include HTTParty
|
89
|
+
# base_uri 'twitter.com'
|
90
|
+
# end
|
91
|
+
def base_uri(uri=nil)
|
92
|
+
return default_options[:base_uri] unless uri
|
93
|
+
default_options[:base_uri] = HTTParty.normalize_base_uri(uri)
|
94
|
+
end
|
95
|
+
|
96
|
+
# Allows setting basic authentication username and password.
|
97
|
+
#
|
98
|
+
# class Foo
|
99
|
+
# include HTTParty
|
100
|
+
# basic_auth 'username', 'password'
|
101
|
+
# end
|
102
|
+
def basic_auth(u, p)
|
103
|
+
default_options[:basic_auth] = {:username => u, :password => p}
|
104
|
+
end
|
105
|
+
|
106
|
+
# Allows setting digest authentication username and password.
|
107
|
+
#
|
108
|
+
# class Foo
|
109
|
+
# include HTTParty
|
110
|
+
# digest_auth 'username', 'password'
|
111
|
+
# end
|
112
|
+
def digest_auth(u, p)
|
113
|
+
default_options[:digest_auth] = {:username => u, :password => p}
|
114
|
+
end
|
115
|
+
|
116
|
+
# Do not send rails style query strings.
|
117
|
+
# Specically, don't use bracket notation when sending an array
|
118
|
+
#
|
119
|
+
# For a query:
|
120
|
+
# get '/', :query => {:selected_ids => [1,2,3]}
|
121
|
+
#
|
122
|
+
# The default query string looks like this:
|
123
|
+
# /?selected_ids[]=1&selected_ids[]=2&selected_ids[]=3
|
124
|
+
#
|
125
|
+
# Call `disable_rails_query_string_format` to transform the query string
|
126
|
+
# into:
|
127
|
+
# /?selected_ids=1&selected_ids=2&selected_ids=3
|
128
|
+
#
|
129
|
+
# @example
|
130
|
+
# class Foo
|
131
|
+
# include HTTParty
|
132
|
+
# disable_rails_query_string_format
|
133
|
+
# end
|
134
|
+
def disable_rails_query_string_format
|
135
|
+
query_string_normalizer Request::NON_RAILS_QUERY_STRING_NORMALIZER
|
136
|
+
end
|
137
|
+
|
138
|
+
# Allows setting default parameters to be appended to each request.
|
139
|
+
# Great for api keys and such.
|
140
|
+
#
|
141
|
+
# class Foo
|
142
|
+
# include HTTParty
|
143
|
+
# default_params :api_key => 'secret', :another => 'foo'
|
144
|
+
# end
|
145
|
+
def default_params(h={})
|
146
|
+
raise ArgumentError, 'Default params must be a hash' unless h.is_a?(Hash)
|
147
|
+
default_options[:default_params] ||= {}
|
148
|
+
default_options[:default_params].merge!(h)
|
149
|
+
end
|
150
|
+
|
151
|
+
# Allows setting a default timeout for all HTTP calls
|
152
|
+
# Timeout is specified in seconds.
|
153
|
+
#
|
154
|
+
# class Foo
|
155
|
+
# include HTTParty
|
156
|
+
# default_timeout 10
|
157
|
+
# end
|
158
|
+
def default_timeout(t)
|
159
|
+
raise ArgumentError, 'Timeout must be an integer or float' unless t && (t.is_a?(Integer) || t.is_a?(Float))
|
160
|
+
default_options[:timeout] = t
|
161
|
+
end
|
162
|
+
|
163
|
+
# Set an output stream for debugging, defaults to $stderr.
|
164
|
+
# The output stream is passed on to Net::HTTP#set_debug_output.
|
165
|
+
#
|
166
|
+
# class Foo
|
167
|
+
# include HTTParty
|
168
|
+
# debug_output $stderr
|
169
|
+
# end
|
170
|
+
def debug_output(stream = $stderr)
|
171
|
+
default_options[:debug_output] = stream
|
172
|
+
end
|
173
|
+
|
174
|
+
# Allows setting HTTP headers to be used for each request.
|
175
|
+
#
|
176
|
+
# class Foo
|
177
|
+
# include HTTParty
|
178
|
+
# headers 'Accept' => 'text/html'
|
179
|
+
# end
|
180
|
+
def headers(h={})
|
181
|
+
raise ArgumentError, 'Headers must be a hash' unless h.is_a?(Hash)
|
182
|
+
default_options[:headers] ||= {}
|
183
|
+
default_options[:headers].merge!(h)
|
184
|
+
end
|
185
|
+
|
186
|
+
def cookies(h={})
|
187
|
+
raise ArgumentError, 'Cookies must be a hash' unless h.is_a?(Hash)
|
188
|
+
default_cookies.add_cookies(h)
|
189
|
+
end
|
190
|
+
|
191
|
+
# Proceed to the location header when an HTTP response dictates a redirect.
|
192
|
+
# Redirects are always followed by default.
|
193
|
+
#
|
194
|
+
# @example
|
195
|
+
# class Foo
|
196
|
+
# include HTTParty
|
197
|
+
# base_uri 'http://google.com'
|
198
|
+
# follow_redirects true
|
199
|
+
# end
|
200
|
+
def follow_redirects(value = true)
|
201
|
+
default_options[:follow_redirects] = value
|
202
|
+
end
|
203
|
+
|
204
|
+
# Allows setting the format with which to parse.
|
205
|
+
# Must be one of the allowed formats ie: json, xml
|
206
|
+
#
|
207
|
+
# class Foo
|
208
|
+
# include HTTParty
|
209
|
+
# format :json
|
210
|
+
# end
|
211
|
+
def format(f = nil)
|
212
|
+
if f.nil?
|
213
|
+
default_options[:format]
|
214
|
+
else
|
215
|
+
parser(Parser) if parser.nil?
|
216
|
+
default_options[:format] = f
|
217
|
+
validate_format
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
# Declare whether or not to follow redirects. When true, an
|
222
|
+
# {HTTParty::RedirectionTooDeep} error will raise upon encountering a
|
223
|
+
# redirect. You can then gain access to the response object via
|
224
|
+
# HTTParty::RedirectionTooDeep#response.
|
225
|
+
#
|
226
|
+
# @see HTTParty::ResponseError#response
|
227
|
+
#
|
228
|
+
# @example
|
229
|
+
# class Foo
|
230
|
+
# include HTTParty
|
231
|
+
# base_uri 'http://google.com'
|
232
|
+
# no_follow true
|
233
|
+
# end
|
234
|
+
#
|
235
|
+
# begin
|
236
|
+
# Foo.get('/')
|
237
|
+
# rescue HTTParty::RedirectionTooDeep => e
|
238
|
+
# puts e.response.body
|
239
|
+
# end
|
240
|
+
def no_follow(value = false)
|
241
|
+
default_options[:no_follow] = value
|
242
|
+
end
|
243
|
+
|
244
|
+
# Declare that you wish to maintain the chosen HTTP method across redirects.
|
245
|
+
# The default behavior is to follow redirects via the GET method.
|
246
|
+
# If you wish to maintain the original method, you can set this option to true.
|
247
|
+
#
|
248
|
+
# @example
|
249
|
+
# class Foo
|
250
|
+
# include HTTParty
|
251
|
+
# base_uri 'http://google.com'
|
252
|
+
# maintain_method_across_redirects true
|
253
|
+
# end
|
254
|
+
|
255
|
+
def maintain_method_across_redirects(value = true)
|
256
|
+
default_options[:maintain_method_across_redirects] = value
|
257
|
+
end
|
258
|
+
|
259
|
+
# Allows setting a PEM file to be used
|
260
|
+
#
|
261
|
+
# class Foo
|
262
|
+
# include HTTParty
|
263
|
+
# pem File.read('/home/user/my.pem'), "optional password"
|
264
|
+
# end
|
265
|
+
def pem(pem_contents, password=nil)
|
266
|
+
default_options[:pem] = pem_contents
|
267
|
+
default_options[:pem_password] = password
|
268
|
+
end
|
269
|
+
|
270
|
+
# Override the way query strings are normalized.
|
271
|
+
# Helpful for overriding the default rails normalization of Array queries.
|
272
|
+
#
|
273
|
+
# For a query:
|
274
|
+
# get '/', :query => {:selected_ids => [1,2,3]}
|
275
|
+
#
|
276
|
+
# The default query string normalizer returns:
|
277
|
+
# /?selected_ids[]=1&selected_ids[]=2&selected_ids[]=3
|
278
|
+
#
|
279
|
+
# Let's change it to this:
|
280
|
+
# /?selected_ids=1&selected_ids=2&selected_ids=3
|
281
|
+
#
|
282
|
+
# Pass a Proc to the query normalizer which accepts the yielded query.
|
283
|
+
#
|
284
|
+
# @example Modifying Array query strings
|
285
|
+
# class ServiceWrapper
|
286
|
+
# include HTTParty
|
287
|
+
#
|
288
|
+
# query_string_normalizer proc { |query|
|
289
|
+
# query.map do |key, value|
|
290
|
+
# value.map {|v| "#{key}=#{v}"}
|
291
|
+
# end.join('&')
|
292
|
+
# }
|
293
|
+
# end
|
294
|
+
#
|
295
|
+
# @param [Proc] normalizer custom query string normalizer.
|
296
|
+
# @yield [Hash, String] query string
|
297
|
+
# @yieldreturn [Array] an array that will later be joined with '&'
|
298
|
+
def query_string_normalizer(normalizer)
|
299
|
+
default_options[:query_string_normalizer] = normalizer
|
300
|
+
end
|
301
|
+
|
302
|
+
# Allows setting of SSL version to use. This only works in Ruby 1.9+.
|
303
|
+
# You can get a list of valid versions from OpenSSL::SSL::SSLContext::METHODS.
|
304
|
+
#
|
305
|
+
# class Foo
|
306
|
+
# include HTTParty
|
307
|
+
# ssl_version :SSLv3
|
308
|
+
# end
|
309
|
+
def ssl_version(version)
|
310
|
+
default_options[:ssl_version] = version
|
311
|
+
end
|
312
|
+
|
313
|
+
# Allows setting of SSL ciphers to use. This only works in Ruby 1.9+.
|
314
|
+
# You can get a list of valid specific ciphers from OpenSSL::Cipher.ciphers.
|
315
|
+
# You also can specify a cipher suite here, listed here at openssl.org:
|
316
|
+
# http://www.openssl.org/docs/apps/ciphers.html#CIPHER_SUITE_NAMES
|
317
|
+
#
|
318
|
+
# class Foo
|
319
|
+
# include HTTParty
|
320
|
+
# ciphers "RC4-SHA"
|
321
|
+
# end
|
322
|
+
def ciphers(cipher_names)
|
323
|
+
default_options[:ciphers] = cipher_names
|
324
|
+
end
|
325
|
+
|
326
|
+
# Allows setting an OpenSSL certificate authority file
|
327
|
+
#
|
328
|
+
# class Foo
|
329
|
+
# include HTTParty
|
330
|
+
# ssl_ca_file '/etc/ssl/certs/ca-certificates.crt'
|
331
|
+
# end
|
332
|
+
def ssl_ca_file(path)
|
333
|
+
default_options[:ssl_ca_file] = path
|
334
|
+
end
|
335
|
+
|
336
|
+
# Allows setting an OpenSSL certificate authority path (directory)
|
337
|
+
#
|
338
|
+
# class Foo
|
339
|
+
# include HTTParty
|
340
|
+
# ssl_ca_path '/etc/ssl/certs/'
|
341
|
+
# end
|
342
|
+
def ssl_ca_path(path)
|
343
|
+
default_options[:ssl_ca_path] = path
|
344
|
+
end
|
345
|
+
|
346
|
+
# Allows setting a custom parser for the response.
|
347
|
+
#
|
348
|
+
# class Foo
|
349
|
+
# include HTTParty
|
350
|
+
# parser Proc.new {|data| ...}
|
351
|
+
# end
|
352
|
+
def parser(custom_parser = nil)
|
353
|
+
if custom_parser.nil?
|
354
|
+
default_options[:parser]
|
355
|
+
else
|
356
|
+
default_options[:parser] = custom_parser
|
357
|
+
validate_format
|
358
|
+
end
|
359
|
+
end
|
360
|
+
|
361
|
+
# Allows setting a custom connection_adapter for the http connections
|
362
|
+
#
|
363
|
+
# @example
|
364
|
+
# class Foo
|
365
|
+
# include HTTParty
|
366
|
+
# connection_adapter Proc.new {|uri, options| ... }
|
367
|
+
# end
|
368
|
+
#
|
369
|
+
# @example provide optional configuration for your connection_adapter
|
370
|
+
# class Foo
|
371
|
+
# include HTTParty
|
372
|
+
# connection_adapter Proc.new {|uri, options| ... }, {:foo => :bar}
|
373
|
+
# end
|
374
|
+
#
|
375
|
+
# @see HTTParty::ConnectionAdapter
|
376
|
+
def connection_adapter(custom_adapter = nil, options = nil)
|
377
|
+
if custom_adapter.nil?
|
378
|
+
default_options[:connection_adapter]
|
379
|
+
else
|
380
|
+
default_options[:connection_adapter] = custom_adapter
|
381
|
+
default_options[:connection_adapter_options] = options
|
382
|
+
end
|
383
|
+
end
|
384
|
+
|
385
|
+
# Allows making a get request to a url.
|
386
|
+
#
|
387
|
+
# class Foo
|
388
|
+
# include HTTParty
|
389
|
+
# end
|
390
|
+
#
|
391
|
+
# # Simple get with full url
|
392
|
+
# Foo.get('http://foo.com/resource.json')
|
393
|
+
#
|
394
|
+
# # Simple get with full url and query parameters
|
395
|
+
# # ie: http://foo.com/resource.json?limit=10
|
396
|
+
# Foo.get('http://foo.com/resource.json', :query => {:limit => 10})
|
397
|
+
def get(path, options={}, &block)
|
398
|
+
perform_request Net::HTTP::Get, path, options, &block
|
399
|
+
end
|
400
|
+
|
401
|
+
# Allows making a post request to a url.
|
402
|
+
#
|
403
|
+
# class Foo
|
404
|
+
# include HTTParty
|
405
|
+
# end
|
406
|
+
#
|
407
|
+
# # Simple post with full url and setting the body
|
408
|
+
# Foo.post('http://foo.com/resources', :body => {:bar => 'baz'})
|
409
|
+
#
|
410
|
+
# # Simple post with full url using :query option,
|
411
|
+
# # which gets set as form data on the request.
|
412
|
+
# Foo.post('http://foo.com/resources', :query => {:bar => 'baz'})
|
413
|
+
def post(path, options={}, &block)
|
414
|
+
perform_request Net::HTTP::Post, path, options, &block
|
415
|
+
end
|
416
|
+
|
417
|
+
# Perform a PATCH request to a path
|
418
|
+
def patch(path, options={}, &block)
|
419
|
+
perform_request Net::HTTP::Patch, path, options, &block
|
420
|
+
end
|
421
|
+
|
422
|
+
# Perform a PUT request to a path
|
423
|
+
def put(path, options={}, &block)
|
424
|
+
perform_request Net::HTTP::Put, path, options, &block
|
425
|
+
end
|
426
|
+
|
427
|
+
# Perform a DELETE request to a path
|
428
|
+
def delete(path, options={}, &block)
|
429
|
+
perform_request Net::HTTP::Delete, path, options, &block
|
430
|
+
end
|
431
|
+
|
432
|
+
# Perform a MOVE request to a path
|
433
|
+
def move(path, options={}, &block)
|
434
|
+
perform_request Net::HTTP::Move, path, options, &block
|
435
|
+
end
|
436
|
+
|
437
|
+
# Perform a COPY request to a path
|
438
|
+
def copy(path, options={}, &block)
|
439
|
+
perform_request Net::HTTP::Copy, path, options, &block
|
440
|
+
end
|
441
|
+
|
442
|
+
# Perform a HEAD request to a path
|
443
|
+
def head(path, options={}, &block)
|
444
|
+
perform_request Net::HTTP::Head, path, options, &block
|
445
|
+
end
|
446
|
+
|
447
|
+
# Perform an OPTIONS request to a path
|
448
|
+
def options(path, options={}, &block)
|
449
|
+
perform_request Net::HTTP::Options, path, options, &block
|
450
|
+
end
|
451
|
+
|
452
|
+
def default_options #:nodoc:
|
453
|
+
@default_options
|
454
|
+
end
|
455
|
+
|
456
|
+
private
|
457
|
+
|
458
|
+
def perform_request(http_method, path, options, &block) #:nodoc:
|
459
|
+
options = default_options.dup.merge(options)
|
460
|
+
process_cookies(options)
|
461
|
+
Request.new(http_method, path, options).perform(&block)
|
462
|
+
end
|
463
|
+
|
464
|
+
def process_cookies(options) #:nodoc:
|
465
|
+
return unless options[:cookies] || default_cookies.any?
|
466
|
+
options[:headers] ||= headers.dup
|
467
|
+
options[:headers]["cookie"] = cookies.merge(options.delete(:cookies) || {}).to_cookie_string
|
468
|
+
end
|
469
|
+
|
470
|
+
def validate_format
|
471
|
+
if format && parser.respond_to?(:supports_format?) && !parser.supports_format?(format)
|
472
|
+
raise UnsupportedFormat, "'#{format.inspect}' Must be one of: #{parser.supported_formats.map{|f| f.to_s}.sort.join(', ')}"
|
473
|
+
end
|
474
|
+
end
|
475
|
+
end
|
476
|
+
|
477
|
+
def self.normalize_base_uri(url) #:nodoc:
|
478
|
+
normalized_url = url.dup
|
479
|
+
use_ssl = (normalized_url =~ /^https/) || (normalized_url =~ /:443\b/)
|
480
|
+
ends_with_slash = normalized_url =~ /\/$/
|
481
|
+
|
482
|
+
normalized_url.chop! if ends_with_slash
|
483
|
+
normalized_url.gsub!(/^https?:\/\//i, '')
|
484
|
+
|
485
|
+
"http#{'s' if use_ssl}://#{normalized_url}"
|
486
|
+
end
|
487
|
+
|
488
|
+
class Basement #:nodoc:
|
489
|
+
include HTTParty
|
490
|
+
end
|
491
|
+
|
492
|
+
def self.get(*args, &block)
|
493
|
+
Basement.get(*args, &block)
|
494
|
+
end
|
495
|
+
|
496
|
+
def self.post(*args, &block)
|
497
|
+
Basement.post(*args, &block)
|
498
|
+
end
|
499
|
+
|
500
|
+
def self.patch(*args, &block)
|
501
|
+
Basement.patch(*args, &block)
|
502
|
+
end
|
503
|
+
|
504
|
+
def self.put(*args, &block)
|
505
|
+
Basement.put(*args, &block)
|
506
|
+
end
|
507
|
+
|
508
|
+
def self.delete(*args, &block)
|
509
|
+
Basement.delete(*args, &block)
|
510
|
+
end
|
511
|
+
|
512
|
+
def self.move(*args, &block)
|
513
|
+
Basement.move(*args, &block)
|
514
|
+
end
|
515
|
+
|
516
|
+
def self.copy(*args, &block)
|
517
|
+
Basement.move(*args, &block)
|
518
|
+
end
|
519
|
+
|
520
|
+
def self.head(*args, &block)
|
521
|
+
Basement.head(*args, &block)
|
522
|
+
end
|
523
|
+
|
524
|
+
def self.options(*args, &block)
|
525
|
+
Basement.options(*args, &block)
|
526
|
+
end
|
527
|
+
end
|
528
|
+
|
529
|
+
require 'httparty/core_extensions'
|
530
|
+
require 'httparty/hash_conversions'
|
531
|
+
require 'httparty/exceptions'
|
532
|
+
require 'httparty/parser'
|
533
|
+
require 'httparty/request'
|
534
|
+
require 'httparty/response'
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<posts user="jnunemaker" tag="ruby">
|
2
|
+
<post href="http://roxml.rubyforge.org/" hash="19bba2ab667be03a19f67fb67dc56917" description="ROXML - Ruby Object to XML Mapping Library" tag="ruby xml gems mapping" time="2008-08-09T05:24:20Z" others="56" extended="ROXML is a Ruby library designed to make it easier for Ruby developers to work with XML. Using simple annotations, it enables Ruby classes to be custom-mapped to XML. ROXML takes care of the marshalling and unmarshalling of mapped attributes so that developers can focus on building first-class Ruby classes."/>
|
3
|
+
<post href="http://code.google.com/p/sparrow/" hash="1df8a7cb9e8960992556518c0ea0d146" description="sparrow - Google Code" tag="ruby sparrow memcache queue" time="2008-08-06T15:07:24Z" others="115" extended="Sparrow is a really fast lightweight queue written in Ruby that speaks memcache. That means you can use Sparrow with any memcached client library (Ruby or otherwise)."/>
|
4
|
+
<post href="http://code.google.com/p/query-reviewer/" hash="963187e8bf350ae42e21eee13a2bef07" description="query-reviewer - Google Code" tag="rails ruby railstips plugins database optimization" time="2008-08-04T21:50:14Z" others="180" extended="This rails plugin not only runs "EXPLAIN" before each of your select queries in development, but provides a small DIV in the rendered output of each page with the summary of query warnings that it analyzed."/>
|
5
|
+
<post href="http://dev.zeraweb.com/introducing-functor" hash="2cdd545934bd37ae6f4829c51b3041c5" description="dev.zeraweb.com: Introducing Functor" tag="ruby methods gems railstips" time="2008-08-04T21:46:47Z" others="61" extended="Really cool ruby lib for overloading method definitions. I can think of a few places this would be handy."/>
|
6
|
+
<post href="http://prawn.majesticseacreature.com/" hash="92764e019de7553b4cd38017e42e4aaa" description="prawn.majesticseacreature.com" tag="pdf ruby railstips" time="2008-08-04T21:26:20Z" others="237" extended="pure ruby pdf generation library."/>
|
7
|
+
<post href="http://meme-rocket.com/2006/09/28/ruby-moduleinclude-at-odds-with-duck-typing/" hash="4ce96c7c237161819e9625737c22b462" description="Bill Burcham’s memeRocket :: Ruby Module#include at Odds with Duck Typing." tag="ruby railstips enumerable comparable" time="2008-08-03T16:09:24Z" others="3" extended="How to build your own enumerable and comparable objects in ruby. This article is old but just came across it and found it handy."/>
|
8
|
+
<post href="http://bl.ogtastic.com/archives/2008/7" hash="6bebd138c037d7d7c88a7046ca03f671" description="The right way to do something you should never do" tag="juggernaut observers rails flash ruby" time="2008-08-03T03:50:58Z" others="0" extended="Example of how to use juggernaut with an observer."/>
|
9
|
+
<post href="http://ncavig.com/blog/?page_id=8" hash="55450d103d6e2dd609b203ad133d751f" description="Nic’s Notions » Juggernaut Tutorials" tag="juggernaut rails ruby flash plugins server chat" time="2008-08-03T02:26:39Z" others="30" extended="Several juggernaut tutorials."/>
|
10
|
+
<post href="http://blog.labnotes.org/2008/05/05/distributed-twitter-client-in-20-lines-of-code/" hash="7c2a36292db109b144036a02eb3f46b7" description="Labnotes » Distributed Twitter Client in 20 lines of code" tag="xmpp ruby jabber xmpp4r" time="2008-08-01T18:16:23Z" others="18" extended="Cool little snippet of xmpp goodness to check your buddies status messages."/>
|
11
|
+
<post href="http://labs.reevoo.com/plugins/beanstalk-messaging" hash="d100c10208acbf5e954320a5577838d9" description="reevoolabs - Beanstalk Messaging" tag="railstips messaging queue rails ruby" time="2008-07-28T02:57:00Z" others="33" extended="Good write up on beanstalk"/>
|
12
|
+
<post href="http://www.slideshare.net/guest807bb2/rubyfringe?src=embed" hash="c3dc3b940dbe25e39737240b4e1ab071" description="Rockstar Memcached" tag="memcached performance caching ruby rails railstips" time="2008-07-28T02:30:50Z" others="11" extended="Killer presentation on memcached by Tobi of Shopify."/>
|
13
|
+
<post href="http://www.igvita.com/2008/07/22/unix-signals-for-live-debugging/" hash="288054a38d870b15bdf060ed5c6b2a2e" description="Unix Signals for Live Debugging - igvita.com" tag="ruby signals unix debugging signal railstips" time="2008-07-27T04:53:00Z" others="86" extended="I've known how to kill processes and such but never quite understood kill. Ilya Grigorik explains not only how to send those signals but how to use them in your scripts to change the way they behave on the fly. Very cool."/>
|
14
|
+
<post href="http://www.rubyinside.com/redcloth-4-released-962.html" hash="b3db9b84940ce550e26a560b83eb2f66" description="RedCloth 4.0 Released: 40x Faster Textile Rendering" tag="textile ruby gems railstips" time="2008-07-27T04:42:29Z" others="20" extended="Redcloth gets some serious love. It's now much faster. Sweet!"/>
|
15
|
+
<post href="http://code.google.com/p/rubycas-server/" hash="b532ea5933e4eba76c44823e17fecd31" description="rubycas-server - Google Code" tag="sso authentication cas ruby" time="2008-07-22T17:04:09Z" others="132" extended="RubyCAS-Server provides a single sign-on solution for web applications, implementing the server-end of JA-SIG's CAS protocol."/>
|
16
|
+
<post href="http://reinh.com/blog/2008/07/14/a-thinking-mans-sphinx.html" hash="033d72ac54d8c722618383e0e2aa18ff" description="ReinH — A Thinking Man's Sphinx" tag="rails railstips sphinx search ruby" time="2008-07-17T19:34:59Z" others="142" extended="A guide to the two sphynx plugins: ultrasphynx and thinksphynx and why you should choose one or the other."/>
|
17
|
+
<post href="http://www.rubyinside.com/ruby-xml-crisis-over-libxml-0-8-0-released-955.html" hash="70490d9786f09db5ba5f7904f88d304c" description="libxml-ruby 0.8.0 Released: Ruby Gets Fast, Reliable XML Processing At Last" tag="libxml xml ruby gems" time="2008-07-17T18:22:23Z" others="55" extended="lib xml gets an update and now it's really fast."/>
|
18
|
+
<post href="http://github.com/RISCfuture/autumn/tree/master" hash="9b47db4bf59da2009642f4084e3113a2" description="autumn at master — GitHub" tag="irc ruby gems" time="2008-07-17T18:20:19Z" others="18" extended="Easy, fresh, feature-rich IRC bots in Ruby"/>
|
19
|
+
<post href="http://groups.google.com/group/datamapper/browse_thread/thread/d33fbb20e41fad04" hash="4403898c92b37788f002ad6d79a66b68" description="New Finder Syntax (before 1.0) -" tag="railstips ruby datamapper" time="2008-07-05T20:42:27Z" others="1" extended="really cool idea for conditions in datamapper. even if you don't use datamapper, read this as it's sweet."/>
|
20
|
+
<post href="http://codeclimber.blogspot.com/2008/06/using-ruby-for-imap-with-gmail.html" hash="33bbf2492beac5fbf1fc167014060067" description="CodeClimber: using Ruby for IMAP with Gmail" tag="email gems gmail google imap rails railstips ruby" time="2008-07-05T20:06:47Z" others="118" extended="how to check gmail using ruby's IMAP libraries. the key is to use the login method instead of the authenticate one."/>
|
21
|
+
<post href="http://xullicious.blogspot.com/2008/07/updated-curb-multi-interface-patch.html" hash="f95dcc012bdc13bc26bace3ceed10656" description="Xul for thought: Updated curb multi interface patch" tag="curl ruby http" time="2008-07-03T21:52:45Z" others="1" extended="Really cool multi curl stuff to rapidly hit urls."/>
|
22
|
+
</posts>
|
23
|
+
<!-- fe04.api.del.ac4.yahoo.net uncompressed/chunked Sat Aug 9 00:20:11 PDT 2008 -->
|
File without changes
|
@@ -0,0 +1,3 @@
|
|
1
|
+
<html><head><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"><title>Google</title><style>body,td,a,p,.h{font-family:arial,sans-serif}.h{color:#36c;font-size:20px}.q{color:#00c}.ts td{padding:0}.ts{border-collapse:collapse}#gbar{height:22px;padding-left:2px}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}#gbi,#gbs{background:#fff;left:0;position:absolute;top:24px;visibility:hidden;z-index:1000}#gbi{border:1px solid;border-color:#c9d7f1 #36c #36c #a2bae7;z-index:1001}#guser{padding-bottom:7px !important}#gbar,#guser{font-size:13px;padding-top:1px !important}@media all{.gb1,.gb3{height:22px;margin-right:.73em;vertical-align:top}#gbar{float:left}}.gb2{display:block;padding:.2em .5em}a.gb1,a.gb2,a.gb3{color:#00c !important}.gb2,.gb3{text-decoration:none}a.gb2:hover{background:#36c;color:#fff !important}</style><script>window.google={kEI:"Zuk6ScOkLKHCMrrttckF",kEXPI:"17259,19124,19314",kHL:"en"};
|
2
|
+
google.y={};google.x=function(e,g){google.y[e.id]=[e,g];return false};function sf(){document.f.q.focus()}
|
3
|
+
window.gbar={};(function(){var b=window.gbar,f,h;b.qs=function(a){var c=window.encodeURIComponent&&(document.forms[0].q||"").value;if(c)a.href=a.href.replace(/([?&])q=[^&]*|$/,function(i,g){return(g||"&")+"q="+encodeURIComponent(c)})};function j(a,c){a.visibility=h?"hidden":"visible";a.left=c+"px"}b.tg=function(a){a=a||window.event;var c=0,i,g=window.navExtra,d=document.getElementById("gbi"),e=a.target||a.srcElement;a.cancelBubble=true;if(!f){f=document.createElement(Array.every||window.createPopup?"iframe":"div");f.frameBorder="0";f.src="#";d.parentNode.appendChild(f).id="gbs";if(g)for(i in g)d.insertBefore(g[i],d.firstChild).className="gb2";document.onclick=b.close}if(e.className!="gb3")e=e.parentNode;do c+=e.offsetLeft;while(e=e.offsetParent);j(d.style,c);f.style.width=d.offsetWidth+"px";f.style.height=d.offsetHeight+"px";j(f.style,c);h=!h};b.close=function(a){h&&b.tg(a)}})();</script></head><body bgcolor=#ffffff text=#000000 link=#0000cc vlink=#551a8b alink=#ff0000 onload="sf();if(document.images)new Image().src='/images/nav_logo3.png'" topmargin=3 marginheight=3><div id=gbar><nobr><b class=gb1>Web</b> <a href="http://images.google.com/imghp?hl=en&tab=wi" onclick=gbar.qs(this) class=gb1>Images</a> <a href="http://maps.google.com/maps?hl=en&tab=wl" onclick=gbar.qs(this) class=gb1>Maps</a> <a href="http://news.google.com/nwshp?hl=en&tab=wn" onclick=gbar.qs(this) class=gb1>News</a> <a href="http://www.google.com/prdhp?hl=en&tab=wf" onclick=gbar.qs(this) class=gb1>Shopping</a> <a href="http://mail.google.com/mail/?hl=en&tab=wm" class=gb1>Gmail</a> <a href="http://www.google.com/intl/en/options/" onclick="this.blur();gbar.tg(event);return !1" class=gb3><u>more</u> <small>▼</small></a><div id=gbi> <a href="http://video.google.com/?hl=en&tab=wv" onclick=gbar.qs(this) class=gb2>Video</a> <a href="http://groups.google.com/grphp?hl=en&tab=wg" onclick=gbar.qs(this) class=gb2>Groups</a> <a href="http://books.google.com/bkshp?hl=en&tab=wp" onclick=gbar.qs(this) class=gb2>Books</a> <a href="http://scholar.google.com/schhp?hl=en&tab=ws" onclick=gbar.qs(this) class=gb2>Scholar</a> <a href="http://finance.google.com/finance?hl=en&tab=we" onclick=gbar.qs(this) class=gb2>Finance</a> <a href="http://blogsearch.google.com/?hl=en&tab=wb" onclick=gbar.qs(this) class=gb2>Blogs</a> <div class=gb2><div class=gbd></div></div> <a href="http://www.youtube.com/?hl=en&tab=w1" onclick=gbar.qs(this) class=gb2>YouTube</a> <a href="http://www.google.com/calendar/render?hl=en&tab=wc" class=gb2>Calendar</a> <a href="http://picasaweb.google.com/home?hl=en&tab=wq" onclick=gbar.qs(this) class=gb2>Photos</a> <a href="http://docs.google.com/?hl=en&tab=wo" class=gb2>Documents</a> <a href="http://www.google.com/reader/view/?hl=en&tab=wy" class=gb2>Reader</a> <a href="http://sites.google.com/?hl=en&tab=w3" class=gb2>Sites</a> <div class=gb2><div class=gbd></div></div> <a href="http://www.google.com/intl/en/options/" class=gb2>even more »</a></div> </nobr></div><div class=gbh style=left:0></div><div class=gbh style=right:0></div><div align=right id=guser style="font-size:84%;padding:0 0 4px" width=100%><nobr><a href="/url?sa=p&pref=ig&pval=3&q=http://www.google.com/ig%3Fhl%3Den%26source%3Diglk&usg=AFQjCNFA18XPfgb7dKnXfKz7x7g1GDH1tg">iGoogle</a> | <a href="https://www.google.com/accounts/Login?continue=http://www.google.com/&hl=en">Sign in</a></nobr></div><center><br clear=all id=lgpd><img alt="Google" height=110 src="/intl/en_ALL/images/logo.gif" width=276><br><br><form action="/search" name=f><table cellpadding=0 cellspacing=0><tr valign=top><td width=25%> </td><td align=center nowrap><input name=hl type=hidden value=en><input type=hidden name=ie value="ISO-8859-1"><input autocomplete="off" maxlength=2048 name=q size=55 title="Google Search" value=""><br><input name=btnG type=submit value="Google Search"><input name=btnI type=submit value="I'm Feeling Lucky"></td><td nowrap width=25%><font size=-2> <a href=/advanced_search?hl=en>Advanced Search</a><br> <a href=/preferences?hl=en>Preferences</a><br> <a href=/language_tools?hl=en>Language Tools</a></font></td></tr></table></form><br><br><font size=-1><a href="/intl/en/ads/">Advertising Programs</a> - <a href="/services/">Business Solutions</a> - <a href="/intl/en/about.html">About Google</a></font><p><font size=-2>©2008 - <a href="/intl/en/privacy.html">Privacy</a></font></p></center></body><script>if(google.y)google.y.first=[];window.setTimeout(function(){var xjs=document.createElement('script');xjs.src='/extern_js/f/CgJlbhICdXMgACswCjgMLCswDjgCLCswGDgDLA/8MIofMT_4o8.js';document.getElementsByTagName('head')[0].appendChild(xjs)},0);google.y.first.push(function(){google.ac.i(document.f,document.f.q,'','')})</script></html>
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
set -e
|
3
|
+
|
4
|
+
if [ -d "generated" ] ; then
|
5
|
+
echo >&2 "error: 'generated' directory already exists. Delete it first."
|
6
|
+
exit 1
|
7
|
+
fi
|
8
|
+
|
9
|
+
mkdir generated
|
10
|
+
|
11
|
+
# Generate the CA private key and certificate
|
12
|
+
openssl req -batch -subj '/CN=INSECURE Test Certificate Authority' -newkey rsa:1024 -new -x509 -days 999999 -keyout generated/ca.key -nodes -out generated/ca.crt
|
13
|
+
|
14
|
+
# Create symlinks for ssl_ca_path
|
15
|
+
c_rehash generated
|
16
|
+
|
17
|
+
# Generate the server private key and self-signed certificate
|
18
|
+
openssl req -batch -subj '/CN=localhost' -newkey rsa:1024 -new -x509 -days 999999 -keyout generated/server.key -nodes -out generated/selfsigned.crt
|
19
|
+
|
20
|
+
# Generate certificate signing request with bogus hostname
|
21
|
+
openssl req -batch -subj '/CN=bogo' -new -days 999999 -key generated/server.key -nodes -out generated/bogushost.csr
|
22
|
+
|
23
|
+
# Sign the certificate requests
|
24
|
+
openssl x509 -CA generated/ca.crt -CAkey generated/ca.key -set_serial 1 -in generated/selfsigned.crt -out generated/server.crt -clrext -extfile openssl-exts.cnf -extensions cert -days 999999
|
25
|
+
openssl x509 -req -CA generated/ca.crt -CAkey generated/ca.key -set_serial 1 -in generated/bogushost.csr -out generated/bogushost.crt -clrext -extfile openssl-exts.cnf -extensions cert -days 999999
|
26
|
+
|
27
|
+
# Remove certificate signing requests
|
28
|
+
rm -f generated/*.csr
|
29
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIICbTCCAdagAwIBAgIJAIAeO9TXtJ45MA0GCSqGSIb3DQEBBQUAMC4xLDAqBgNV
|
3
|
+
BAMTI0lOU0VDVVJFIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MCAXDTEwMTAy
|
4
|
+
MDEzNDYyM1oYDzQ3NDgwOTE1MTM0NjIzWjAuMSwwKgYDVQQDEyNJTlNFQ1VSRSBU
|
5
|
+
ZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
|
6
|
+
gYkCgYEA3lkBcd352qiIIzqnyvvJj59cx1dnzMyjnuaK2cRH420rBfukLE2MbOVr
|
7
|
+
9nYq/7CdjqXpE8uFAF+UTSIK6MWZ/bidkr2xd/et/Ce2pVIVxH+rt3pJz3wZhC3H
|
8
|
+
Yz+HU4CD2iI9wAzsb6mMV7md1fjlYfir4SBGGPTkcqUJUp2/tQMCAwEAAaOBkDCB
|
9
|
+
jTAdBgNVHQ4EFgQUy0Lz6RgmtpywlBOXdPABQArp358wXgYDVR0jBFcwVYAUy0Lz
|
10
|
+
6RgmtpywlBOXdPABQArp35+hMqQwMC4xLDAqBgNVBAMTI0lOU0VDVVJFIFRlc3Qg
|
11
|
+
Q2VydGlmaWNhdGUgQXV0aG9yaXR5ggkAgB471Ne0njkwDAYDVR0TBAUwAwEB/zAN
|
12
|
+
BgkqhkiG9w0BAQUFAAOBgQCmi3JQm+EIWjkRlyz9sijkYS+Ps4opmd/weeaXwa4E
|
13
|
+
gVBWJGyiduB+kBnfv61+/tDjlrbjBDH5dP8suczHQL8gox4zGgjw64KH4o1ujZYR
|
14
|
+
cEPbhnUpwbXu7yItlajBZfpFefjF5P0Ao2iEzQldDy0D6nQ19h5QANvQxqweTPQp
|
15
|
+
pw==
|
16
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,13 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIICBTCCAW6gAwIBAgIBATANBgkqhkiG9w0BAQUFADAuMSwwKgYDVQQDEyNJTlNF
|
3
|
+
Q1VSRSBUZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTAgFw0xMDEwMjAxMzQ2MjNa
|
4
|
+
GA80NzQ4MDkxNTEzNDYyM1owDzENMAsGA1UEAxMEYm9nbzCBnzANBgkqhkiG9w0B
|
5
|
+
AQEFAAOBjQAwgYkCgYEAr6b0ZBrRrVvPmPbQv36Jnj5jv00ZkhimXrmbv9Z1AdIZ
|
6
|
+
WSsBpMd8TP7exE5OR5/DaxKmiZqVskgRyRkLm52/Dkt7Ncrzr5I3unHnMqsAv/28
|
7
|
+
5fGlYoRxnkCGMse/6NOFgCemRFw/bglxPNAGrFYKStameBRbCm0dCgtlvcwzdf8C
|
8
|
+
AwEAAaNQME4wDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUddLPFtGmb0aFWbTl2kAo
|
9
|
+
xD+fd6kwHwYDVR0jBBgwFoAUy0Lz6RgmtpywlBOXdPABQArp358wDQYJKoZIhvcN
|
10
|
+
AQEFBQADgYEAosqpPVsFu6cOIhGFT85Y1wwRUaihO0vWO7ghBU5ScuRU3tuvyJDZ
|
11
|
+
Z/HoAMXV6XZjVZzRosjtPjFbyWkZYjUqJJRMyEaRiGArWe6urKLzwnD6R9O3eNa5
|
12
|
+
7bgFhzZ5WBldJmtq4A3oNqBuvgZkYM6NVKvS4UoakkTliHB21/mDOSY=
|
13
|
+
-----END CERTIFICATE-----
|
@@ -0,0 +1,16 @@
|
|
1
|
+
-----BEGIN CERTIFICATE-----
|
2
|
+
MIICbTCCAdagAwIBAgIJAIAeO9TXtJ45MA0GCSqGSIb3DQEBBQUAMC4xLDAqBgNV
|
3
|
+
BAMTI0lOU0VDVVJFIFRlc3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5MCAXDTEwMTAy
|
4
|
+
MDEzNDYyM1oYDzQ3NDgwOTE1MTM0NjIzWjAuMSwwKgYDVQQDEyNJTlNFQ1VSRSBU
|
5
|
+
ZXN0IENlcnRpZmljYXRlIEF1dGhvcml0eTCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
|
6
|
+
gYkCgYEA3lkBcd352qiIIzqnyvvJj59cx1dnzMyjnuaK2cRH420rBfukLE2MbOVr
|
7
|
+
9nYq/7CdjqXpE8uFAF+UTSIK6MWZ/bidkr2xd/et/Ce2pVIVxH+rt3pJz3wZhC3H
|
8
|
+
Yz+HU4CD2iI9wAzsb6mMV7md1fjlYfir4SBGGPTkcqUJUp2/tQMCAwEAAaOBkDCB
|
9
|
+
jTAdBgNVHQ4EFgQUy0Lz6RgmtpywlBOXdPABQArp358wXgYDVR0jBFcwVYAUy0Lz
|
10
|
+
6RgmtpywlBOXdPABQArp35+hMqQwMC4xLDAqBgNVBAMTI0lOU0VDVVJFIFRlc3Qg
|
11
|
+
Q2VydGlmaWNhdGUgQXV0aG9yaXR5ggkAgB471Ne0njkwDAYDVR0TBAUwAwEB/zAN
|
12
|
+
BgkqhkiG9w0BAQUFAAOBgQCmi3JQm+EIWjkRlyz9sijkYS+Ps4opmd/weeaXwa4E
|
13
|
+
gVBWJGyiduB+kBnfv61+/tDjlrbjBDH5dP8suczHQL8gox4zGgjw64KH4o1ujZYR
|
14
|
+
cEPbhnUpwbXu7yItlajBZfpFefjF5P0Ao2iEzQldDy0D6nQ19h5QANvQxqweTPQp
|
15
|
+
pw==
|
16
|
+
-----END CERTIFICATE-----
|