├── .gitignore ├── MasterWorkerModel ├── Job.go ├── master.go ├── master_worker_test.go └── worker.go ├── README.md ├── XGoServer.iml ├── build ├── server └── server.exe ├── build_linux.bat ├── build_win.bat ├── conf └── server.json ├── config ├── config.go └── config_test.go ├── core ├── context.go ├── handle.go ├── jwt_test.go ├── sample.go ├── token.go ├── xengine.go └── xengine_test.go ├── encrypt ├── aes_64.go ├── base64Aes_test.go ├── defaultAes_test.go ├── default_aes.go ├── interface.go └── your_other_way.go ├── main_test.go ├── model ├── book.go ├── comment.go └── web_constant.go ├── serverMain.go ├── threeLibs ├── alecthomas │ └── log4go │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README │ │ ├── config.go │ │ ├── examples │ │ ├── ConsoleLogWriter_Manual.go │ │ ├── FileLogWriter_Manual.go │ │ ├── SimpleNetLogServer.go │ │ ├── SocketLogWriter_Manual.go │ │ ├── XMLConfigurationExample.go │ │ └── example.xml │ │ ├── filelog.go │ │ ├── log4go.go │ │ ├── log4go_test.go │ │ ├── pattlog.go │ │ ├── socklog.go │ │ ├── termlog.go │ │ └── wrapper.go ├── dgrijalva │ └── jwt-go │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── MIGRATION_GUIDE.md │ │ ├── README.md │ │ ├── VERSION_HISTORY.md │ │ ├── claims.go │ │ ├── cmd │ │ └── jwt │ │ │ ├── README.md │ │ │ ├── app.go │ │ │ └── args.go │ │ ├── doc.go │ │ ├── ecdsa.go │ │ ├── ecdsa_test.go │ │ ├── ecdsa_utils.go │ │ ├── errors.go │ │ ├── example_test.go │ │ ├── hmac.go │ │ ├── hmac_example_test.go │ │ ├── hmac_test.go │ │ ├── http_example_test.go │ │ ├── map_claims.go │ │ ├── none.go │ │ ├── none_test.go │ │ ├── parser.go │ │ ├── parser_test.go │ │ ├── request │ │ ├── doc.go │ │ ├── extractor.go │ │ ├── extractor_example_test.go │ │ ├── extractor_test.go │ │ ├── oauth2.go │ │ ├── request.go │ │ └── request_test.go │ │ ├── rsa.go │ │ ├── rsa_pss.go │ │ ├── rsa_pss_test.go │ │ ├── rsa_test.go │ │ ├── rsa_utils.go │ │ ├── signing_method.go │ │ ├── test │ │ ├── ec256-private.pem │ │ ├── ec256-public.pem │ │ ├── ec384-private.pem │ │ ├── ec384-public.pem │ │ ├── ec512-private.pem │ │ ├── ec512-public.pem │ │ ├── helpers.go │ │ ├── hmacTestKey │ │ ├── sample_key │ │ └── sample_key.pub │ │ └── token.go ├── go-sql-driver │ └── mysql │ │ ├── .github │ │ ├── ISSUE_TEMPLATE.md │ │ └── PULL_REQUEST_TEMPLATE.md │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── AUTHORS │ │ ├── CHANGELOG.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── appengine.go │ │ ├── benchmark_test.go │ │ ├── buffer.go │ │ ├── collations.go │ │ ├── connection.go │ │ ├── connection_test.go │ │ ├── const.go │ │ ├── driver.go │ │ ├── driver_test.go │ │ ├── dsn.go │ │ ├── dsn_test.go │ │ ├── errors.go │ │ ├── errors_test.go │ │ ├── infile.go │ │ ├── packets.go │ │ ├── packets_test.go │ │ ├── result.go │ │ ├── rows.go │ │ ├── statement.go │ │ ├── transaction.go │ │ ├── utils.go │ │ └── utils_test.go ├── go-xorm │ ├── builder │ │ ├── LICENSE │ │ ├── README.md │ │ ├── builder.go │ │ ├── builder_delete.go │ │ ├── builder_insert.go │ │ ├── builder_select.go │ │ ├── builder_test.go │ │ ├── builder_update.go │ │ ├── circle.yml │ │ ├── cond.go │ │ ├── cond_and.go │ │ ├── cond_between.go │ │ ├── cond_compare.go │ │ ├── cond_eq.go │ │ ├── cond_expr.go │ │ ├── cond_in.go │ │ ├── cond_like.go │ │ ├── cond_neq.go │ │ ├── cond_not.go │ │ ├── cond_notin.go │ │ ├── cond_null.go │ │ ├── cond_or.go │ │ ├── doc.go │ │ └── error.go │ ├── cmd │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── README_CN.md │ │ ├── circle.yml │ │ └── xorm │ │ │ ├── .gitignore │ │ │ ├── .gopmfile │ │ │ ├── c++.go │ │ │ ├── cmd.go │ │ │ ├── driver.go │ │ │ ├── dump.go │ │ │ ├── go.go │ │ │ ├── lang.go │ │ │ ├── objc.go │ │ │ ├── reverse.go │ │ │ ├── shell.go │ │ │ ├── source.go │ │ │ ├── sqlite3.go │ │ │ ├── templates │ │ │ ├── c++ │ │ │ │ ├── class.h.tpl │ │ │ │ └── config │ │ │ ├── go │ │ │ │ ├── config │ │ │ │ └── struct.go.tpl │ │ │ ├── gomeddler │ │ │ │ ├── config │ │ │ │ └── struct.go.tpl │ │ │ ├── goxorm │ │ │ │ ├── config │ │ │ │ └── struct.go.tpl │ │ │ └── objc │ │ │ │ ├── class.h.tpl │ │ │ │ ├── class.m.tpl │ │ │ │ └── config │ │ │ └── xorm.go │ ├── core │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── benchmark.sh │ │ ├── cache.go │ │ ├── circle.yml │ │ ├── column.go │ │ ├── converstion.go │ │ ├── db.go │ │ ├── db_test.go │ │ ├── dialect.go │ │ ├── driver.go │ │ ├── error.go │ │ ├── filter.go │ │ ├── ilogger.go │ │ ├── index.go │ │ ├── mapper.go │ │ ├── mapper_test.go │ │ ├── pk.go │ │ ├── pk_test.go │ │ ├── rows.go │ │ ├── scan.go │ │ ├── table.go │ │ ├── table_test.go │ │ └── type.go │ └── xorm │ │ ├── .gitignore │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── README_CN.md │ │ ├── cache_lru.go │ │ ├── cache_lru_test.go │ │ ├── cache_memory_store.go │ │ ├── cache_memory_store_test.go │ │ ├── cache_test.go │ │ ├── circle.yml │ │ ├── context.go │ │ ├── context_test.go │ │ ├── convert.go │ │ ├── dialect_mssql.go │ │ ├── dialect_mysql.go │ │ ├── dialect_oracle.go │ │ ├── dialect_postgres.go │ │ ├── dialect_sqlite3.go │ │ ├── doc.go │ │ ├── docs │ │ └── images │ │ │ ├── cache_design.graffle │ │ │ └── cache_design.png │ │ ├── engine.go │ │ ├── engine_cond.go │ │ ├── engine_group.go │ │ ├── engine_group_policy.go │ │ ├── engine_maxlife.go │ │ ├── error.go │ │ ├── examples │ │ ├── README.md │ │ ├── cache.go │ │ ├── cachegoroutine.go │ │ ├── conversion.go │ │ ├── derive.go │ │ ├── find.go │ │ ├── goroutine.go │ │ ├── maxconnect.go │ │ ├── singlemapping.go │ │ ├── sync.go │ │ └── tables.go │ │ ├── gen_reserved.sh │ │ ├── helpers.go │ │ ├── helpers_test.go │ │ ├── helpler_time.go │ │ ├── interface.go │ │ ├── logger.go │ │ ├── migrate │ │ ├── migrate.go │ │ └── migrate_test.go │ │ ├── pg_reserved.txt │ │ ├── processors.go │ │ ├── processors_test.go │ │ ├── rows.go │ │ ├── rows_test.go │ │ ├── session.go │ │ ├── session_cols.go │ │ ├── session_cols_test.go │ │ ├── session_cond.go │ │ ├── session_cond_test.go │ │ ├── session_convert.go │ │ ├── session_delete.go │ │ ├── session_delete_test.go │ │ ├── session_exist.go │ │ ├── session_exist_test.go │ │ ├── session_find.go │ │ ├── session_find_test.go │ │ ├── session_get.go │ │ ├── session_get_test.go │ │ ├── session_insert.go │ │ ├── session_insert_test.go │ │ ├── session_iterate.go │ │ ├── session_iterate_test.go │ │ ├── session_pk_test.go │ │ ├── session_query.go │ │ ├── session_query_test.go │ │ ├── session_raw.go │ │ ├── session_raw_test.go │ │ ├── session_schema.go │ │ ├── session_schema_test.go │ │ ├── session_stats.go │ │ ├── session_stats_test.go │ │ ├── session_test.go │ │ ├── session_tx.go │ │ ├── session_tx_test.go │ │ ├── session_update.go │ │ ├── session_update_test.go │ │ ├── statement.go │ │ ├── statement_test.go │ │ ├── syslogger.go │ │ ├── tag.go │ │ ├── tag_cache_test.go │ │ ├── tag_extends_test.go │ │ ├── tag_id_test.go │ │ ├── tag_test.go │ │ ├── tag_version_test.go │ │ ├── test_mssql.sh │ │ ├── test_mssql_cache.sh │ │ ├── test_mymysql.sh │ │ ├── test_mymysql_cache.sh │ │ ├── test_mysql.sh │ │ ├── test_mysql_cache.sh │ │ ├── test_postgres.sh │ │ ├── test_postgres_cache.sh │ │ ├── test_sqlite.sh │ │ ├── test_sqlite_cache.sh │ │ ├── time_test.go │ │ ├── types.go │ │ ├── types_null_test.go │ │ ├── types_test.go │ │ ├── vendor │ │ ├── github.com │ │ │ ├── davecgh │ │ │ │ └── go-spew │ │ │ │ │ ├── LICENSE │ │ │ │ │ └── spew │ │ │ │ │ ├── common.go │ │ │ │ │ ├── common_test.go │ │ │ │ │ ├── config.go │ │ │ │ │ ├── doc.go │ │ │ │ │ ├── dump.go │ │ │ │ │ ├── dump_test.go │ │ │ │ │ ├── dumpcgo_test.go │ │ │ │ │ ├── dumpnocgo_test.go │ │ │ │ │ ├── example_test.go │ │ │ │ │ ├── format.go │ │ │ │ │ ├── format_test.go │ │ │ │ │ ├── internal_test.go │ │ │ │ │ ├── spew.go │ │ │ │ │ ├── spew_test.go │ │ │ │ │ └── testdata │ │ │ │ │ └── dumpcgo.go │ │ │ ├── go-sql-driver │ │ │ │ └── mysql │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── buffer.go │ │ │ │ │ ├── connection.go │ │ │ │ │ ├── const.go │ │ │ │ │ ├── driver.go │ │ │ │ │ ├── driver_test.go │ │ │ │ │ ├── errors.go │ │ │ │ │ ├── infile.go │ │ │ │ │ ├── packets.go │ │ │ │ │ ├── result.go │ │ │ │ │ ├── rows.go │ │ │ │ │ ├── statement.go │ │ │ │ │ ├── transaction.go │ │ │ │ │ ├── utils.go │ │ │ │ │ └── utils_test.go │ │ │ ├── lib │ │ │ │ └── pq │ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ ├── README.md │ │ │ │ │ ├── array.go │ │ │ │ │ ├── array_test.go │ │ │ │ │ ├── bench_test.go │ │ │ │ │ ├── buf.go │ │ │ │ │ ├── conn.go │ │ │ │ │ ├── conn_test.go │ │ │ │ │ ├── copy.go │ │ │ │ │ ├── copy_test.go │ │ │ │ │ ├── doc.go │ │ │ │ │ ├── encode.go │ │ │ │ │ ├── encode_test.go │ │ │ │ │ ├── error.go │ │ │ │ │ ├── go18_test.go │ │ │ │ │ ├── issues_test.go │ │ │ │ │ ├── notify.go │ │ │ │ │ ├── notify_test.go │ │ │ │ │ ├── oid │ │ │ │ │ ├── doc.go │ │ │ │ │ ├── gen.go │ │ │ │ │ └── types.go │ │ │ │ │ ├── ssl_test.go │ │ │ │ │ ├── url.go │ │ │ │ │ ├── url_test.go │ │ │ │ │ ├── user_posix.go │ │ │ │ │ └── user_windows.go │ │ │ ├── pmezard │ │ │ │ └── go-difflib │ │ │ │ │ ├── LICENSE │ │ │ │ │ └── difflib │ │ │ │ │ ├── difflib.go │ │ │ │ │ └── difflib_test.go │ │ │ └── stretchr │ │ │ │ └── testify │ │ │ │ └── assert │ │ │ │ ├── assertions.go │ │ │ │ ├── assertions_test.go │ │ │ │ ├── doc.go │ │ │ │ ├── errors.go │ │ │ │ ├── forward_assertions.go │ │ │ │ ├── forward_assertions_test.go │ │ │ │ ├── http_assertions.go │ │ │ │ └── http_assertions_test.go │ │ ├── gopkg.in │ │ │ └── stretchr │ │ │ │ └── testify.v1 │ │ │ │ ├── LICENSE │ │ │ │ └── assert │ │ │ │ ├── assertion_forward.go │ │ │ │ ├── assertion_forward.go.tmpl │ │ │ │ ├── assertions.go │ │ │ │ ├── assertions_test.go │ │ │ │ ├── doc.go │ │ │ │ ├── errors.go │ │ │ │ ├── forward_assertions.go │ │ │ │ ├── forward_assertions_test.go │ │ │ │ ├── http_assertions.go │ │ │ │ └── http_assertions_test.go │ │ └── vendor.json │ │ ├── xorm.go │ │ └── xorm_test.go └── gorilla │ ├── context │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── context.go │ ├── context_test.go │ └── doc.go │ ├── handlers │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── canonical.go │ ├── canonical_test.go │ ├── compress.go │ ├── compress_test.go │ ├── cors.go │ ├── cors_test.go │ ├── doc.go │ ├── handlers.go │ ├── handlers_go18.go │ ├── handlers_go18_test.go │ ├── handlers_pre18.go │ ├── handlers_test.go │ ├── proxy_headers.go │ ├── proxy_headers_test.go │ ├── recovery.go │ └── recovery_test.go │ ├── mux │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── bench_test.go │ ├── context_gorilla.go │ ├── context_gorilla_test.go │ ├── context_native.go │ ├── context_native_test.go │ ├── doc.go │ ├── mux.go │ ├── mux_test.go │ ├── old_test.go │ ├── regexp.go │ └── route.go │ ├── securecookie │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── doc.go │ ├── fuzz.go │ ├── fuzz │ │ ├── corpus │ │ │ ├── 0.sc │ │ │ ├── 05a79f06cf3f67f726dae68d18a2290f6c9a50c9-1 │ │ │ ├── 05aefe7b48db1dcf464048449ac4fa6af2fbc73b-5 │ │ │ ├── 1.sc │ │ │ ├── 10.sc │ │ │ ├── 11.sc │ │ │ ├── 12.sc │ │ │ ├── 13.sc │ │ │ ├── 14.sc │ │ │ ├── 15.sc │ │ │ ├── 16.sc │ │ │ ├── 169c3e89cd10efe9bce3a1fdb69a31229e618fc0 │ │ │ ├── 17.sc │ │ │ ├── 18.sc │ │ │ ├── 19.sc │ │ │ ├── 2.sc │ │ │ ├── 20.sc │ │ │ ├── 202ad82e80f70c37f893e47d23f91b1de5067219-7 │ │ │ ├── 21.sc │ │ │ ├── 21606782c65e44cac7afbb90977d8b6f82140e76-1 │ │ │ ├── 22.sc │ │ │ ├── 23.sc │ │ │ ├── 24.sc │ │ │ ├── 25.sc │ │ │ ├── 25c648c4c5161116b9b3b883338ddae51f25a901-1 │ │ │ ├── 26.sc │ │ │ ├── 27.sc │ │ │ ├── 28.sc │ │ │ ├── 29.sc │ │ │ ├── 2aad7069353f2b76fa70b9e0b22115bb42025ec0-2 │ │ │ ├── 2b28c8193457fb5385d22ef4ca733c4e364f00e7-4 │ │ │ ├── 3.sc │ │ │ ├── 30.sc │ │ │ ├── 31.sc │ │ │ ├── 32.sc │ │ │ ├── 33.sc │ │ │ ├── 34.sc │ │ │ ├── 35.sc │ │ │ ├── 36.sc │ │ │ ├── 366e3e0397c8ceca170311fb9db5ffcddf228b51-5 │ │ │ ├── 37.sc │ │ │ ├── 38.sc │ │ │ ├── 39.sc │ │ │ ├── 3916f239f9da91baa003ee6dc147cca7f7f95bd7-2 │ │ │ ├── 3e70a0a4bb1ecd96f554cbef9f20c674ff43e2f6-10 │ │ │ ├── 4.sc │ │ │ ├── 40.sc │ │ │ ├── 41.sc │ │ │ ├── 42.sc │ │ │ ├── 43.sc │ │ │ ├── 44.sc │ │ │ ├── 45.sc │ │ │ ├── 46.sc │ │ │ ├── 47.sc │ │ │ ├── 48.sc │ │ │ ├── 49.sc │ │ │ ├── 4b6a3b5efec9fd7ff70c713e135f825772ee0c5b-6 │ │ │ ├── 5.sc │ │ │ ├── 50.sc │ │ │ ├── 51.sc │ │ │ ├── 5122906052326fb2d0f65fef576c1437b95256af-5 │ │ │ ├── 52.sc │ │ │ ├── 53.sc │ │ │ ├── 54.sc │ │ │ ├── 55.sc │ │ │ ├── 56.sc │ │ │ ├── 5601b416f11820e0203c84570e4068cf87acad17-4 │ │ │ ├── 57.sc │ │ │ ├── 58.sc │ │ │ ├── 59.sc │ │ │ ├── 6.sc │ │ │ ├── 60.sc │ │ │ ├── 61.sc │ │ │ ├── 62.sc │ │ │ ├── 63.sc │ │ │ ├── 64.sc │ │ │ ├── 65.sc │ │ │ ├── 66.sc │ │ │ ├── 67.sc │ │ │ ├── 68.sc │ │ │ ├── 68c721c56a20c85b4aefdffcd60437cf2902b0fa-10 │ │ │ ├── 69.sc │ │ │ ├── 7.sc │ │ │ ├── 70.sc │ │ │ ├── 7095a5454c9f66801f2b298e577a488a9cadf52d │ │ │ ├── 71.sc │ │ │ ├── 71853c6197a6a7f222db0f1978c7cb232b87c5ee-3 │ │ │ ├── 72.sc │ │ │ ├── 73.sc │ │ │ ├── 74.sc │ │ │ ├── 75.sc │ │ │ ├── 76.sc │ │ │ ├── 77.sc │ │ │ ├── 78.sc │ │ │ ├── 79.sc │ │ │ ├── 8.sc │ │ │ ├── 80.sc │ │ │ ├── 81.sc │ │ │ ├── 82.sc │ │ │ ├── 83.sc │ │ │ ├── 84.sc │ │ │ ├── 85.sc │ │ │ ├── 86.sc │ │ │ ├── 87.sc │ │ │ ├── 878643f2e5fb1c89d90d7b5c65957914bb7fe2c6-1 │ │ │ ├── 88.sc │ │ │ ├── 89.sc │ │ │ ├── 8ed2598d72255e78e1cdecba1a0a3b0cb4e4d8be-1 │ │ │ ├── 9.sc │ │ │ ├── 90.sc │ │ │ ├── 91.sc │ │ │ ├── 92.sc │ │ │ ├── 93.sc │ │ │ ├── 94.sc │ │ │ ├── 95.sc │ │ │ ├── 96.sc │ │ │ ├── 97.sc │ │ │ ├── 98.sc │ │ │ ├── 99.sc │ │ │ ├── 9e34c6aae8f2c610f838fed4a5bab0da097c5135-2 │ │ │ ├── 9eecb7ef73e5211948391dfc0c2d586e3822b028-1 │ │ │ ├── adc83b19e793491b1c6ea0fd8b46cd9f32e592fc-2 │ │ │ ├── ae3eb68089a89eb0a707c1de4b60edfeb6efc6e0-4 │ │ │ ├── b4f6322316fe4501272935267ab8b1c26684c884 │ │ │ ├── bf3f814c978c0fc01c46c8d5b337b024697186cc-7 │ │ │ ├── c63ae6dd4fc9f9dda66970e827d13f7c73fe841c-1 │ │ │ ├── cebedf21435b903c4013fb902fb5b753e40a100e-8 │ │ │ ├── da39a3ee5e6b4b0d3255bfef95601890afd80709-1 │ │ │ ├── da5f06015af7bb09d3e421d086939d888f93271c-3 │ │ │ ├── df60b2ac6f14afbf990d366fa820ee4906f1436e-2 │ │ │ ├── ec54cdb4f33539c9b852b89ebcc67b4ec31a2b01-5 │ │ │ ├── ec80b4b6f256eb0f29955c2bc000931d3b766c57-6 │ │ │ ├── f2c59710b18847b10176f19fb0426cb597bafef0-9 │ │ │ ├── f4de882915d90ead3b18371ab004abb24b3cd320-3 │ │ │ ├── f82d23aaf2be2cfc7aa8e323922208cdfce8d35a-3 │ │ │ └── fa0f4cd7fee9eb65ebb95a3dc88b6fa198a2c986-1 │ │ └── gencorpus.go │ ├── securecookie.go │ └── securecookie_test.go │ └── sessions │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── doc.go │ ├── lex.go │ ├── sessions.go │ ├── sessions_test.go │ ├── store.go │ └── store_test.go └── util └── util.go /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .npminstall 3 | .vscode 4 | .yarninstall 5 | *.log 6 | *.out 7 | *.lock 8 | *.sass-cache 9 | *styles.css 10 | *.test 11 | *.idea 12 | data 13 | dist 14 | logs 15 | node_modules 16 | /1 -------------------------------------------------------------------------------- /MasterWorkerModel/Job.go: -------------------------------------------------------------------------------- 1 | package master_worker 2 | 3 | import ( 4 | "fmt" 5 | "time" 6 | ) 7 | 8 | type Job struct { 9 | Tag string 10 | } 11 | 12 | func NewJob(tag string) Job { 13 | return Job{tag} 14 | } 15 | 16 | func (j Job) doJob() { 17 | go func() { 18 | time.Sleep(time.Second*5) 19 | fmt.Println(j.Tag+" --- doing job...") 20 | }() 21 | } -------------------------------------------------------------------------------- /MasterWorkerModel/master.go: -------------------------------------------------------------------------------- 1 | package master_worker 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | type Master struct { 8 | JobQueue chan Job 9 | Workers []Worker 10 | isStart bool 11 | } 12 | 13 | func NewMasterAndStartWorker(workerSize,jobQueueSize int) *Master { 14 | master := &Master{ 15 | Workers:[]Worker{}, 16 | isStart:false, 17 | } 18 | if master.JobQueue == nil { 19 | master.JobQueue = make(chan Job,jobQueueSize) 20 | } 21 | for i:=0;i0 { 27 | master.isStart = true 28 | } 29 | return master 30 | } 31 | 32 | func NewMaster(workerSize,jobQueueSize int) *Master { 33 | master := &Master{ 34 | Workers:[]Worker{}, 35 | isStart:false, 36 | } 37 | if master.JobQueue == nil { 38 | master.JobQueue = make(chan Job,jobQueueSize) 39 | } 40 | for i:=0;i0 { 54 | m.isStart = true 55 | } 56 | for i:=0;i 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /build/server: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/af913337456/XGoServer/562530268968e315d73af025087b75ecc11af03a/build/server -------------------------------------------------------------------------------- /build/server.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/af913337456/XGoServer/562530268968e315d73af025087b75ecc11af03a/build/server.exe -------------------------------------------------------------------------------- /build_linux.bat: -------------------------------------------------------------------------------- 1 | :: 编译脚本 2 | SET CGO_ENABLED=0 3 | SET GOOS=linux 4 | SET GOARCH=amd64 5 | go build -a -v -o build/server serverMain.go -------------------------------------------------------------------------------- /build_win.bat: -------------------------------------------------------------------------------- 1 | :: 编译脚本 2 | go build -a -v -o build/server.exe serverMain.go -------------------------------------------------------------------------------- /conf/server.json: -------------------------------------------------------------------------------- 1 | { 2 | "Server":{ 3 | "Host": "127.0.0.1", 4 | "Port": ":8884", 5 | "FilePort":":8885" 6 | }, 7 | "MySQL":{ 8 | "DbHost":"127.0.0.1", 9 | "DbName":"lgh", 10 | "DbUser":"root", 11 | "DbPw":"123aaa", 12 | "DbPort":"3306" 13 | }, 14 | "Log":{ 15 | "EnableConsole": true, 16 | "ConsoleLevel": "DEBUG", 17 | "EnableFile": true, 18 | "FileLevel": "INFO", 19 | "FileFormat": "", 20 | "FileLocation": "" 21 | } 22 | } -------------------------------------------------------------------------------- /config/config_test.go: -------------------------------------------------------------------------------- 1 | package config 2 | 3 | import "testing" 4 | 5 | func TestRead(t *testing.T) { 6 | BindServerConfig("server.json") 7 | } 8 | -------------------------------------------------------------------------------- /core/jwt_test.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | /** 4 | 5 | 作者(Author): 林冠宏 / 指尖下的幽灵 6 | 7 | Created on : 2018/2/16 8 | 9 | */ 10 | 11 | import ( 12 | "testing" 13 | "github.com/XGoServer/threeLibs/dgrijalva/jwt-go" 14 | "fmt" 15 | "github.com/XGoServer/threeLibs/dgrijalva/jwt-go/request" 16 | "net/http" 17 | ) 18 | 19 | const SecretKey = "1234567890asdfghjklzxcvbnmqwert" 20 | 21 | func TestJWT(t *testing.T) { 22 | token := jwt.New(jwt.SigningMethodHS256) 23 | dataMap := make(jwt.MapClaims) 24 | dataMap["userId"] = "123456aaa" 25 | dataMap["userRole"] = "normal" 26 | token.Claims = dataMap 27 | 28 | tokenString, err := token.SignedString([]byte(SecretKey)) 29 | if err != nil { 30 | fmt.Println(err.Error()) 31 | }else { 32 | fmt.Println(tokenString) 33 | } 34 | parseToken(tokenString) 35 | } 36 | 37 | func parseToken(tokenStr string) { 38 | h := http.Header{"Authorization":[]string{tokenStr}} 39 | r := &http.Request{ 40 | Header:h, 41 | } 42 | token, err := request.ParseFromRequest(r, request.AuthorizationHeaderExtractor, 43 | func(token *jwt.Token) (interface{}, error) { 44 | return []byte(SecretKey), nil 45 | }) 46 | 47 | if err == nil { 48 | if token.Valid { 49 | fmt.Println("correct") 50 | fmt.Println(token.Claims) 51 | return 52 | } 53 | } 54 | fmt.Println(err.Error()) 55 | } 56 | -------------------------------------------------------------------------------- /core/xengine_test.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | /** 4 | 5 | 作者(Author): 林冠宏 / 指尖下的幽灵 6 | 7 | Created on : 2018/2/10 8 | 9 | */ 10 | 11 | import ( 12 | "testing" 13 | "fmt" 14 | "github.com/XGoServer/config" 15 | ) 16 | 17 | func TestConnectStr(t *testing.T) { 18 | fmt.Println( fmt.Sprintf( 19 | "%s:%s@/%s?charset=utf8","123","456","789")) 20 | } 21 | 22 | func TestCreateEngine(t *testing.T) { 23 | config.BindServerConfig("server.json","log.json") 24 | CreateDefaultMysqlEngine("mysql",config.ServerConfig.DbUser,config.ServerConfig.DbPw,config.ServerConfig.DbName) 25 | } -------------------------------------------------------------------------------- /encrypt/base64Aes_test.go: -------------------------------------------------------------------------------- 1 | package encrypt 2 | 3 | import ( 4 | "testing" 5 | "fmt" 6 | ) 7 | 8 | func TestBase64Aes(t *testing.T) { 9 | 10 | base64Aes := Base64Aes{} 11 | 12 | encStr := base64Aes.AesEncryptStr( 13 | "p个电饭锅电饭锅电饭锅的大哥大p个电饭锅" + 14 | "电饭锅电p个p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个" + 15 | "单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发" + 16 | "说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭" + 17 | "锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给" + 18 | "单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第" + 19 | "三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大" + 20 | "哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是" + 21 | "p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是电饭锅电饭锅电p个电饭锅电饭锅电饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是饭锅的大哥大范甘迪发说干豆腐干第三个单方事故单个发给单方事故单个都是饭锅的大哥大范甘迪发说干豆腐干第三个" + 22 | "单方事故单个发给单方事故单个都是范甘迪发说干豆腐干第三个" + 23 | "单方事故单个发给单方事故单个都是") 24 | 25 | fmt.Println("enc ===> "+encStr) 26 | 27 | fmt.Println("dec ===> "+base64Aes.AesDecryptStr(encStr)) 28 | 29 | } 30 | -------------------------------------------------------------------------------- /encrypt/defaultAes_test.go: -------------------------------------------------------------------------------- 1 | package encrypt 2 | 3 | import ( 4 | "testing" 5 | "fmt" 6 | ) 7 | 8 | /** 9 | 10 | 作者(Author): 林冠宏 / 指尖下的幽灵 11 | 12 | Created on : 2018/2/19 13 | 14 | */ 15 | 16 | func TestEncAes(t *testing.T) { 17 | 18 | testStr := 19 | "在CBC模式中,每个平文块先与前一个密文块进行异或后,再进行加密。在这种方法中,每个密文块都依赖于它前面的所有平文块。" + 20 | "同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量。"+ 21 | "CBC是最为常用的工作模式。它的主要缺点在于加密过程是串行的,无法被并行化,而且消息必须被填充到块大小的整数倍。" + 22 | "解决后一个问题的一种方法是利用密文窃取。"+ 23 | "注意在加密时,平文中的微小改变会导致其后的全部密文块发生改变,而在解密时,从两个邻接的密文块中即可得到一个平文块。" + 24 | "因此,解密过程可以被并行化,而解密时,密文中一位的改变只会导致其对应的平文块完全改变和下一个平文块中对应位发生改变," + 25 | "不会影响到其它平文的内容。" 26 | testStr = testStr + testStr + testStr + testStr + testStr + testStr 27 | 28 | e := DefaultAES{} 29 | data := e.AesEncryptStr(testStr) 30 | 31 | fmt.Println(data) 32 | decAes(data) 33 | } 34 | 35 | func Test2(t *testing.T) { 36 | e := DefaultAES{} 37 | 38 | data := e.AesEncryptStr("狗年平安") 39 | 40 | fmt.Println(data) 41 | //\ufffd\u0002\ufffd\u001eu\ufffd\u001c\ufffd\u0013m\ufffdM\\\ufffd\ufffd\u0011 42 | decAes(data) 43 | } 44 | 45 | func decAes(encData string) { 46 | e := DefaultAES{} 47 | data := e.AesDecryptStr(encData) 48 | 49 | fmt.Println(data) 50 | } 51 | 52 | 53 | -------------------------------------------------------------------------------- /encrypt/interface.go: -------------------------------------------------------------------------------- 1 | package encrypt 2 | 3 | /** 4 | 5 | 作者(Author): 林冠宏 / 指尖下的幽灵 6 | 7 | Created on : 2018/2/19 8 | 9 | */ 10 | 11 | const DefaultAESKey = "12345678910Asdfxzvreytggfss78954" 12 | 13 | type IEncrypt interface { 14 | AesEncrypt(origData, key []byte) ([]byte, error) // 加密 15 | AesDecrypt(encrypted, key []byte) ([]byte, error) // 解密 16 | } 17 | -------------------------------------------------------------------------------- /encrypt/your_other_way.go: -------------------------------------------------------------------------------- 1 | package encrypt 2 | 3 | 4 | /** 5 | 6 | 作者(Author): 林冠宏 / 指尖下的幽灵 7 | 8 | Created on : 2018/2/19 9 | 10 | */ 11 | 12 | 13 | type MyOther struct { 14 | 15 | } 16 | 17 | func (x MyOther) AesEncrypt(origData, key []byte) ([]byte, error) { 18 | 19 | return nil, nil 20 | } 21 | 22 | func (x MyOther) AesDecrypt(encrypted, key []byte) ([]byte, error) { 23 | 24 | return nil, nil 25 | } 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /main_test.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | /** 4 | 5 | 作者(Author): 林冠宏 / 指尖下的幽灵 6 | 7 | Created on : 2018/2/10 8 | 9 | */ 10 | 11 | import "testing" 12 | import ( 13 | "github.com/XGoServer/core" 14 | "github.com/XGoServer/model" 15 | "github.com/XGoServer/util" 16 | ) 17 | 18 | func TestInit(t *testing.T) { 19 | core.SimpleInit() 20 | if !core.CreateTables(model.Book{}, model.Comment{}){ 21 | return 22 | } 23 | affect,_ := core.Engine.Insert() 24 | if affect > 0 { 25 | util.LogInfo("insert success !") 26 | }else{ 27 | util.LogInfo("insert failed") 28 | } 29 | } -------------------------------------------------------------------------------- /model/book.go: -------------------------------------------------------------------------------- 1 | package model 2 | 3 | /** 4 | 5 | 作者(Author): 林冠宏 / 指尖下的幽灵 6 | 7 | Created on : 2018/2/10 8 | 9 | */ 10 | 11 | type BookCombine struct { 12 | Book 13 | Nickname string `bson:"nickname" json:"nickname"` 14 | } 15 | 16 | type CheckStruct struct { 17 | Id string `bson:"id" json:"id"` 18 | } 19 | 20 | type Book struct { 21 | Id string `xorm:"pk" bson:"_id,omitempty" json:"id,omitempty"` 22 | UserId string `xorm:"notnull index" bson:"UserId" json:"UserId"` 23 | Name string `bson:"name" json:"name"` 24 | DocId string `bson:"docId" json:"docId"` 25 | Description string `bson:"description" json:"description"` 26 | ImageUrl string `bson:"imageUrl" json:"imageUrl"` 27 | Created int64 `bson:"created" json:"created"` 28 | Updated int64 `bson:"updated" json:"updated"` 29 | // 下面添加: 浏览量的字段,评论数,点赞数 30 | IsPublish bool `bson:"ispublish" json:"ispublish"` // is has publish 31 | IsShare bool `bson:"isshare" json:"isshare"` // is can share 32 | Watched int64 `bson:"watched" json:"watched"` 33 | Comments int64 `bson:"comments" json:"comments"` 34 | Likes int64 `bson:"likes" json:"likes"` 35 | // File or Book 36 | // 0 - book 37 | // 1 - file 38 | // x - ... 39 | BookType int64 `bson:"booktype" json:"booktype"` 40 | 41 | } 42 | 43 | -------------------------------------------------------------------------------- /model/comment.go: -------------------------------------------------------------------------------- 1 | package model 2 | 3 | /** 4 | 5 | 作者(Author): 林冠宏 / 指尖下的幽灵 6 | 7 | Created on : 2018/2/10 8 | 9 | */ 10 | 11 | type Comment struct { 12 | Id string `xorm:"pk" json:"id,omitempty"` 13 | UserId string `xorm:"notnull index" json:"UserId"` 14 | Name string `json:"name"` 15 | Content string `xorm:"varchar(2048)" json:"content"` 16 | } 17 | -------------------------------------------------------------------------------- /model/web_constant.go: -------------------------------------------------------------------------------- 1 | package model 2 | 3 | /** 4 | 5 | 作者(Author): 林冠宏 / 指尖下的幽灵 6 | 7 | Created on : 2018/2/16 8 | 9 | */ 10 | 11 | const ( 12 | HEADER_REQUEST_ID = "X-Request-ID" 13 | HEADER_VERSION_ID = "X-Version-ID" 14 | HEADER_ETAG_SERVER = "ETag" 15 | HEADER_ETAG_CLIENT = "If-None-Match" 16 | HEADER_FORWARDED = "X-Forwarded-For" 17 | HEADER_REAL_IP = "X-Real-IP" 18 | HEADER_FORWARDED_PROTO = "X-Forwarded-Proto" 19 | HEADER_TOKEN = "token" 20 | HEADER_BEARER = "BEARER" 21 | HEADER_AUTH = "Authorization" 22 | HEADER_REQUESTED_WITH = "X-Requested-With" 23 | HEADER_REQUESTED_WITH_XML = "XMLHttpRequest" 24 | STATUS = "status" 25 | STATUS_OK = "OK" 26 | ) 27 | -------------------------------------------------------------------------------- /threeLibs/alecthomas/log4go/.gitignore: -------------------------------------------------------------------------------- 1 | *.sw[op] 2 | .DS_Store 3 | -------------------------------------------------------------------------------- /threeLibs/alecthomas/log4go/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010, Kyle Lemons . All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 4 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 5 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the 6 | documentation and/or other materials provided with the distribution. 7 | 8 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 9 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 10 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 11 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 12 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 13 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 14 | -------------------------------------------------------------------------------- /threeLibs/alecthomas/log4go/README: -------------------------------------------------------------------------------- 1 | # This is an unmaintained fork, left only so it doesn't break imports. 2 | 3 | Please see http://log4go.googlecode.com/ 4 | 5 | Installation: 6 | - Run `goinstall log4go.googlecode.com/hg` 7 | 8 | Usage: 9 | - Add the following import: 10 | import l4g "log4go.googlecode.com/hg" 11 | 12 | Acknowledgements: 13 | - pomack 14 | For providing awesome patches to bring log4go up to the latest Go spec 15 | -------------------------------------------------------------------------------- /threeLibs/alecthomas/log4go/examples/ConsoleLogWriter_Manual.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "time" 5 | ) 6 | 7 | import l4g "code.google.com/p/log4go" 8 | 9 | func main() { 10 | log := l4g.NewLogger() 11 | defer log.Close() 12 | log.AddFilter("stdout", l4g.DEBUG, l4g.NewConsoleLogWriter()) 13 | log.Info("The time is now: %s", time.Now().Format("15:04:05 MST 2006/01/02")) 14 | } 15 | -------------------------------------------------------------------------------- /threeLibs/alecthomas/log4go/examples/FileLogWriter_Manual.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "bufio" 5 | "fmt" 6 | "io" 7 | "os" 8 | "time" 9 | ) 10 | 11 | import l4g "code.google.com/p/log4go" 12 | 13 | const ( 14 | filename = "flw.log" 15 | ) 16 | 17 | func main() { 18 | // Get a new logger instance 19 | log := l4g.NewLogger() 20 | 21 | // Create a default logger that is logging messages of FINE or higher 22 | log.AddFilter("file", l4g.FINE, l4g.NewFileLogWriter(filename, false)) 23 | log.Close() 24 | 25 | /* Can also specify manually via the following: (these are the defaults) */ 26 | flw := l4g.NewFileLogWriter(filename, false) 27 | flw.SetFormat("[%D %T] [%L] (%S) %M") 28 | flw.SetRotate(false) 29 | flw.SetRotateSize(0) 30 | flw.SetRotateLines(0) 31 | flw.SetRotateDaily(false) 32 | log.AddFilter("file", l4g.FINE, flw) 33 | 34 | // Log some experimental messages 35 | log.Finest("Everything is created now (notice that I will not be printing to the file)") 36 | log.Info("The time is now: %s", time.Now().Format("15:04:05 MST 2006/01/02")) 37 | log.Critical("Time to close out!") 38 | 39 | // Close the log 40 | log.Close() 41 | 42 | // Print what was logged to the file (yes, I know I'm skipping error checking) 43 | fd, _ := os.Open(filename) 44 | in := bufio.NewReader(fd) 45 | fmt.Print("Messages logged to file were: (line numbers not included)\n") 46 | for lineno := 1; ; lineno++ { 47 | line, err := in.ReadString('\n') 48 | if err == io.EOF { 49 | break 50 | } 51 | fmt.Printf("%3d:\t%s", lineno, line) 52 | } 53 | fd.Close() 54 | 55 | // Remove the file so it's not lying around 56 | os.Remove(filename) 57 | } 58 | -------------------------------------------------------------------------------- /threeLibs/alecthomas/log4go/examples/SimpleNetLogServer.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "flag" 5 | "fmt" 6 | "net" 7 | "os" 8 | ) 9 | 10 | var ( 11 | port = flag.String("p", "12124", "Port number to listen on") 12 | ) 13 | 14 | func e(err error) { 15 | if err != nil { 16 | fmt.Printf("Erroring out: %s\n", err) 17 | os.Exit(1) 18 | } 19 | } 20 | 21 | func main() { 22 | flag.Parse() 23 | 24 | // Bind to the port 25 | bind, err := net.ResolveUDPAddr("0.0.0.0:" + *port) 26 | e(err) 27 | 28 | // Create listener 29 | listener, err := net.ListenUDP("udp", bind) 30 | e(err) 31 | 32 | fmt.Printf("Listening to port %s...\n", *port) 33 | for { 34 | // read into a new buffer 35 | buffer := make([]byte, 1024) 36 | _, _, err := listener.ReadFrom(buffer) 37 | e(err) 38 | 39 | // log to standard output 40 | fmt.Println(string(buffer)) 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /threeLibs/alecthomas/log4go/examples/SocketLogWriter_Manual.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "time" 5 | ) 6 | 7 | import l4g "code.google.com/p/log4go" 8 | 9 | func main() { 10 | log := l4g.NewLogger() 11 | log.AddFilter("network", l4g.FINEST, l4g.NewSocketLogWriter("udp", "192.168.1.255:12124")) 12 | 13 | // Run `nc -u -l -p 12124` or similar before you run this to see the following message 14 | log.Info("The time is now: %s", time.Now().Format("15:04:05 MST 2006/01/02")) 15 | 16 | // This makes sure the output stream buffer is written 17 | log.Close() 18 | } 19 | -------------------------------------------------------------------------------- /threeLibs/alecthomas/log4go/examples/XMLConfigurationExample.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import l4g "code.google.com/p/log4go" 4 | 5 | func main() { 6 | // Load the configuration (isn't this easy?) 7 | l4g.LoadConfiguration("example.xml") 8 | 9 | // And now we're ready! 10 | l4g.Finest("This will only go to those of you really cool UDP kids! If you change enabled=true.") 11 | l4g.Debug("Oh no! %d + %d = %d!", 2, 2, 2+2) 12 | l4g.Info("About that time, eh chaps?") 13 | } 14 | -------------------------------------------------------------------------------- /threeLibs/alecthomas/log4go/socklog.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010, Kyle Lemons . All rights reserved. 2 | 3 | package log4go 4 | 5 | import ( 6 | "encoding/json" 7 | "fmt" 8 | "net" 9 | "os" 10 | ) 11 | 12 | // This log writer sends output to a socket 13 | type SocketLogWriter chan *LogRecord 14 | 15 | // This is the SocketLogWriter's output method 16 | func (w SocketLogWriter) LogWrite(rec *LogRecord) { 17 | w <- rec 18 | } 19 | 20 | func (w SocketLogWriter) Close() { 21 | close(w) 22 | } 23 | 24 | func NewSocketLogWriter(proto, hostport string) SocketLogWriter { 25 | sock, err := net.Dial(proto, hostport) 26 | if err != nil { 27 | fmt.Fprintf(os.Stderr, "NewSocketLogWriter(%q): %s\n", hostport, err) 28 | return nil 29 | } 30 | 31 | w := SocketLogWriter(make(chan *LogRecord, LogBufferLength)) 32 | 33 | go func() { 34 | defer func() { 35 | if sock != nil && proto == "tcp" { 36 | sock.Close() 37 | } 38 | }() 39 | 40 | for rec := range w { 41 | // Marshall into JSON 42 | js, err := json.Marshal(rec) 43 | if err != nil { 44 | fmt.Fprint(os.Stderr, "SocketLogWriter(%q): %s", hostport, err) 45 | return 46 | } 47 | 48 | _, err = sock.Write(js) 49 | if err != nil { 50 | fmt.Fprint(os.Stderr, "SocketLogWriter(%q): %s", hostport, err) 51 | return 52 | } 53 | } 54 | }() 55 | 56 | return w 57 | } 58 | -------------------------------------------------------------------------------- /threeLibs/alecthomas/log4go/termlog.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2010, Kyle Lemons . All rights reserved. 2 | 3 | package log4go 4 | 5 | import ( 6 | "fmt" 7 | "io" 8 | "os" 9 | "time" 10 | ) 11 | 12 | var stdout io.Writer = os.Stdout 13 | 14 | // This is the standard writer that prints to standard output. 15 | type ConsoleLogWriter struct { 16 | format string 17 | w chan *LogRecord 18 | } 19 | 20 | // This creates a new ConsoleLogWriter 21 | func NewConsoleLogWriter() *ConsoleLogWriter { 22 | consoleWriter := &ConsoleLogWriter{ 23 | format: "[%T %D] [%L] (%S) %M", 24 | w: make(chan *LogRecord, LogBufferLength), 25 | } 26 | go consoleWriter.run(stdout) 27 | return consoleWriter 28 | } 29 | func (c *ConsoleLogWriter) SetFormat(format string) { 30 | c.format = format 31 | } 32 | func (c *ConsoleLogWriter) run(out io.Writer) { 33 | for rec := range c.w { 34 | fmt.Fprint(out, FormatLogRecord(c.format, rec)) 35 | } 36 | } 37 | 38 | // This is the ConsoleLogWriter's output method. This will block if the output 39 | // buffer is full. 40 | func (c *ConsoleLogWriter) LogWrite(rec *LogRecord) { 41 | c.w <- rec 42 | } 43 | 44 | // Close stops the logger from sending messages to standard output. Attempts to 45 | // send log messages to this logger after a Close have undefined behavior. 46 | func (c *ConsoleLogWriter) Close() { 47 | close(c.w) 48 | time.Sleep(50 * time.Millisecond) // Try to give console I/O time to complete 49 | } 50 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | bin 3 | 4 | 5 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | script: 4 | - go vet ./... 5 | - go test -v ./... 6 | 7 | go: 8 | - 1.3 9 | - 1.4 10 | - 1.5 11 | - 1.6 12 | - 1.7 13 | - tip 14 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Dave Grijalva 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | 9 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/cmd/jwt/README.md: -------------------------------------------------------------------------------- 1 | `jwt` command-line tool 2 | ======================= 3 | 4 | This is a simple tool to sign, verify and show JSON Web Tokens from 5 | the command line. 6 | 7 | The following will create and sign a token, then verify it and output the original claims: 8 | 9 | echo {\"foo\":\"bar\"} | ./jwt -key ../../test/sample_key -alg RS256 -sign - | ./jwt -key ../../test/sample_key.pub -alg RS256 -verify - 10 | 11 | To simply display a token, use: 12 | 13 | echo $JWT | ./jwt -show - 14 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/cmd/jwt/args.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "encoding/json" 5 | "fmt" 6 | "strings" 7 | ) 8 | 9 | type ArgList map[string]string 10 | 11 | func (l ArgList) String() string { 12 | data, _ := json.Marshal(l) 13 | return string(data) 14 | } 15 | 16 | func (l ArgList) Set(arg string) error { 17 | parts := strings.SplitN(arg, "=", 2) 18 | if len(parts) != 2 { 19 | return fmt.Errorf("Invalid argument '%v'. Must use format 'key=value'. %v", arg, parts) 20 | } 21 | l[parts[0]] = parts[1] 22 | return nil 23 | } 24 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/doc.go: -------------------------------------------------------------------------------- 1 | // Package jwt is a Go implementation of JSON Web Tokens: http://self-issued.info/docs/draft-jones-json-web-token.html 2 | // 3 | // See README.md for more info. 4 | package jwt 5 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/ecdsa_utils.go: -------------------------------------------------------------------------------- 1 | package jwt 2 | 3 | import ( 4 | "crypto/ecdsa" 5 | "crypto/x509" 6 | "encoding/pem" 7 | "errors" 8 | ) 9 | 10 | var ( 11 | ErrNotECPublicKey = errors.New("Key is not a valid ECDSA public key") 12 | ErrNotECPrivateKey = errors.New("Key is not a valid ECDSA private key") 13 | ) 14 | 15 | // Parse PEM encoded Elliptic Curve Private Key Structure 16 | func ParseECPrivateKeyFromPEM(key []byte) (*ecdsa.PrivateKey, error) { 17 | var err error 18 | 19 | // Parse PEM block 20 | var block *pem.Block 21 | if block, _ = pem.Decode(key); block == nil { 22 | return nil, ErrKeyMustBePEMEncoded 23 | } 24 | 25 | // Parse the key 26 | var parsedKey interface{} 27 | if parsedKey, err = x509.ParseECPrivateKey(block.Bytes); err != nil { 28 | return nil, err 29 | } 30 | 31 | var pkey *ecdsa.PrivateKey 32 | var ok bool 33 | if pkey, ok = parsedKey.(*ecdsa.PrivateKey); !ok { 34 | return nil, ErrNotECPrivateKey 35 | } 36 | 37 | return pkey, nil 38 | } 39 | 40 | // Parse PEM encoded PKCS1 or PKCS8 public key 41 | func ParseECPublicKeyFromPEM(key []byte) (*ecdsa.PublicKey, error) { 42 | var err error 43 | 44 | // Parse PEM block 45 | var block *pem.Block 46 | if block, _ = pem.Decode(key); block == nil { 47 | return nil, ErrKeyMustBePEMEncoded 48 | } 49 | 50 | // Parse the key 51 | var parsedKey interface{} 52 | if parsedKey, err = x509.ParsePKIXPublicKey(block.Bytes); err != nil { 53 | if cert, err := x509.ParseCertificate(block.Bytes); err == nil { 54 | parsedKey = cert.PublicKey 55 | } else { 56 | return nil, err 57 | } 58 | } 59 | 60 | var pkey *ecdsa.PublicKey 61 | var ok bool 62 | if pkey, ok = parsedKey.(*ecdsa.PublicKey); !ok { 63 | return nil, ErrNotECPublicKey 64 | } 65 | 66 | return pkey, nil 67 | } 68 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/request/doc.go: -------------------------------------------------------------------------------- 1 | // Utility package for extracting JWT tokens from 2 | // HTTP requests. 3 | // 4 | // The main function is ParseFromRequest and it's WithClaims variant. 5 | // See examples for how to use the various Extractor implementations 6 | // or roll your own. 7 | package request 8 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/request/extractor_example_test.go: -------------------------------------------------------------------------------- 1 | package request 2 | 3 | import ( 4 | "fmt" 5 | "net/url" 6 | ) 7 | 8 | const ( 9 | exampleTokenA = "A" 10 | ) 11 | 12 | func ExampleHeaderExtractor() { 13 | req := makeExampleRequest("GET", "/", map[string]string{"Token": exampleTokenA}, nil) 14 | tokenString, err := HeaderExtractor{"Token"}.ExtractToken(req) 15 | if err == nil { 16 | fmt.Println(tokenString) 17 | } else { 18 | fmt.Println(err) 19 | } 20 | //Output: A 21 | } 22 | 23 | func ExampleArgumentExtractor() { 24 | req := makeExampleRequest("GET", "/", nil, url.Values{"token": {extractorTestTokenA}}) 25 | tokenString, err := ArgumentExtractor{"token"}.ExtractToken(req) 26 | if err == nil { 27 | fmt.Println(tokenString) 28 | } else { 29 | fmt.Println(err) 30 | } 31 | //Output: A 32 | } 33 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/request/oauth2.go: -------------------------------------------------------------------------------- 1 | package request 2 | 3 | import ( 4 | "strings" 5 | ) 6 | 7 | // Strips 'Bearer ' prefix from bearer token string 8 | func stripBearerPrefixFromTokenString(tok string) (string, error) { 9 | // Should be a bearer token 10 | if len(tok) > 6 && strings.ToUpper(tok[0:7]) == "BEARER " { 11 | return tok[7:], nil 12 | } 13 | return tok, nil 14 | } 15 | 16 | // Extract bearer token from Authorization header 17 | // Uses PostExtractionFilter to strip "Bearer " prefix from header 18 | var AuthorizationHeaderExtractor = &PostExtractionFilter{ 19 | HeaderExtractor{"Authorization"}, 20 | stripBearerPrefixFromTokenString, 21 | } 22 | 23 | // Extractor for OAuth2 access tokens. Looks in 'Authorization' 24 | // header then 'access_token' argument for a token. 25 | var OAuth2Extractor = &MultiExtractor{ 26 | AuthorizationHeaderExtractor, 27 | ArgumentExtractor{"access_token"}, 28 | } 29 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/request/request.go: -------------------------------------------------------------------------------- 1 | package request 2 | 3 | import ( 4 | "github.com/XGoServer/threeLibs/dgrijalva/jwt-go" 5 | "net/http" 6 | ) 7 | 8 | // Extract and parse a JWT token from an HTTP request. 9 | // This behaves the same as Parse, but accepts a request and an extractor 10 | // instead of a token string. The Extractor interface allows you to define 11 | // the logic for extracting a token. Several useful implementations are provided. 12 | func ParseFromRequest(req *http.Request, extractor Extractor, keyFunc jwt.Keyfunc) (token *jwt.Token, err error) { 13 | return ParseFromRequestWithClaims(req, extractor, jwt.MapClaims{}, keyFunc) 14 | } 15 | 16 | // ParseFromRequest but with custom Claims type 17 | func ParseFromRequestWithClaims(req *http.Request, extractor Extractor, claims jwt.Claims, keyFunc jwt.Keyfunc) (token *jwt.Token, err error) { 18 | // Extract token from request 19 | if tokStr, err := extractor.ExtractToken(req); err == nil { 20 | return jwt.ParseWithClaims(tokStr, claims, keyFunc) 21 | } else { 22 | return nil, err 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/signing_method.go: -------------------------------------------------------------------------------- 1 | package jwt 2 | 3 | import ( 4 | "sync" 5 | ) 6 | 7 | var signingMethods = map[string]func() SigningMethod{} 8 | var signingMethodLock = new(sync.RWMutex) 9 | 10 | // Implement SigningMethod to add new methods for signing or verifying tokens. 11 | type SigningMethod interface { 12 | Verify(signingString, signature string, key interface{}) error // Returns nil if signature is valid 13 | Sign(signingString string, key interface{}) (string, error) // Returns encoded signature or error 14 | Alg() string // returns the alg identifier for this method (example: 'HS256') 15 | } 16 | 17 | // Register the "alg" name and a factory function for signing method. 18 | // This is typically done during init() in the method's implementation 19 | func RegisterSigningMethod(alg string, f func() SigningMethod) { 20 | signingMethodLock.Lock() 21 | defer signingMethodLock.Unlock() 22 | 23 | signingMethods[alg] = f 24 | } 25 | 26 | // Get a signing method from an "alg" string 27 | func GetSigningMethod(alg string) (method SigningMethod) { 28 | signingMethodLock.RLock() 29 | defer signingMethodLock.RUnlock() 30 | 31 | if methodF, ok := signingMethods[alg]; ok { 32 | method = methodF() 33 | } 34 | return 35 | } 36 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/test/ec256-private.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MHcCAQEEIAh5qA3rmqQQuu0vbKV/+zouz/y/Iy2pLpIcWUSyImSwoAoGCCqGSM49 3 | AwEHoUQDQgAEYD54V/vp+54P9DXarYqx4MPcm+HKRIQzNasYSoRQHQ/6S6Ps8tpM 4 | cT+KvIIC8W/e9k0W7Cm72M1P9jU7SLf/vg== 5 | -----END EC PRIVATE KEY----- 6 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/test/ec256-public.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYD54V/vp+54P9DXarYqx4MPcm+HK 3 | RIQzNasYSoRQHQ/6S6Ps8tpMcT+KvIIC8W/e9k0W7Cm72M1P9jU7SLf/vg== 4 | -----END PUBLIC KEY----- 5 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/test/ec384-private.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MIGkAgEBBDCaCvMHKhcG/qT7xsNLYnDT7sE/D+TtWIol1ROdaK1a564vx5pHbsRy 3 | SEKcIxISi1igBwYFK4EEACKhZANiAATYa7rJaU7feLMqrAx6adZFNQOpaUH/Uylb 4 | ZLriOLON5YFVwtVUpO1FfEXZUIQpptRPtc5ixIPY658yhBSb6irfIJUSP9aYTflJ 5 | GKk/mDkK4t8mWBzhiD5B6jg9cEGhGgA= 6 | -----END EC PRIVATE KEY----- 7 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/test/ec384-public.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE2Gu6yWlO33izKqwMemnWRTUDqWlB/1Mp 3 | W2S64jizjeWBVcLVVKTtRXxF2VCEKabUT7XOYsSD2OufMoQUm+oq3yCVEj/WmE35 4 | SRipP5g5CuLfJlgc4Yg+Qeo4PXBBoRoA 5 | -----END PUBLIC KEY----- 6 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/test/ec512-private.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN EC PRIVATE KEY----- 2 | MIHcAgEBBEIB0pE4uFaWRx7t03BsYlYvF1YvKaBGyvoakxnodm9ou0R9wC+sJAjH 3 | QZZJikOg4SwNqgQ/hyrOuDK2oAVHhgVGcYmgBwYFK4EEACOhgYkDgYYABAAJXIuw 4 | 12MUzpHggia9POBFYXSxaOGKGbMjIyDI+6q7wi7LMw3HgbaOmgIqFG72o8JBQwYN 5 | 4IbXHf+f86CRY1AA2wHzbHvt6IhkCXTNxBEffa1yMUgu8n9cKKF2iLgyQKcKqW33 6 | 8fGOw/n3Rm2Yd/EB56u2rnD29qS+nOM9eGS+gy39OQ== 7 | -----END EC PRIVATE KEY----- 8 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/test/ec512-public.pem: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQACVyLsNdjFM6R4IImvTzgRWF0sWjh 3 | ihmzIyMgyPuqu8IuyzMNx4G2jpoCKhRu9qPCQUMGDeCG1x3/n/OgkWNQANsB82x7 4 | 7eiIZAl0zcQRH32tcjFILvJ/XCihdoi4MkCnCqlt9/HxjsP590ZtmHfxAeertq5w 5 | 9vakvpzjPXhkvoMt/Tk= 6 | -----END PUBLIC KEY----- 7 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/test/helpers.go: -------------------------------------------------------------------------------- 1 | package test 2 | 3 | import ( 4 | "crypto/rsa" 5 | "github.com/XGoServer/threeLibs/dgrijalva/jwt-go" 6 | "io/ioutil" 7 | ) 8 | 9 | func LoadRSAPrivateKeyFromDisk(location string) *rsa.PrivateKey { 10 | keyData, e := ioutil.ReadFile(location) 11 | if e != nil { 12 | panic(e.Error()) 13 | } 14 | key, e := jwt.ParseRSAPrivateKeyFromPEM(keyData) 15 | if e != nil { 16 | panic(e.Error()) 17 | } 18 | return key 19 | } 20 | 21 | func LoadRSAPublicKeyFromDisk(location string) *rsa.PublicKey { 22 | keyData, e := ioutil.ReadFile(location) 23 | if e != nil { 24 | panic(e.Error()) 25 | } 26 | key, e := jwt.ParseRSAPublicKeyFromPEM(keyData) 27 | if e != nil { 28 | panic(e.Error()) 29 | } 30 | return key 31 | } 32 | 33 | func MakeSampleToken(c jwt.Claims, key interface{}) string { 34 | token := jwt.NewWithClaims(jwt.SigningMethodRS256, c) 35 | s, e := token.SignedString(key) 36 | 37 | if e != nil { 38 | panic(e.Error()) 39 | } 40 | 41 | return s 42 | } 43 | -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/test/hmacTestKey: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/af913337456/XGoServer/562530268968e315d73af025087b75ecc11af03a/threeLibs/dgrijalva/jwt-go/test/hmacTestKey -------------------------------------------------------------------------------- /threeLibs/dgrijalva/jwt-go/test/sample_key.pub: -------------------------------------------------------------------------------- 1 | -----BEGIN PUBLIC KEY----- 2 | MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4f5wg5l2hKsTeNem/V41 3 | fGnJm6gOdrj8ym3rFkEU/wT8RDtnSgFEZOQpHEgQ7JL38xUfU0Y3g6aYw9QT0hJ7 4 | mCpz9Er5qLaMXJwZxzHzAahlfA0icqabvJOMvQtzD6uQv6wPEyZtDTWiQi9AXwBp 5 | HssPnpYGIn20ZZuNlX2BrClciHhCPUIIZOQn/MmqTD31jSyjoQoV7MhhMTATKJx2 6 | XrHhR+1DcKJzQBSTAGnpYVaqpsARap+nwRipr3nUTuxyGohBTSmjJ2usSeQXHI3b 7 | ODIRe1AuTyHceAbewn8b462yEWKARdpd9AjQW5SIVPfdsz5B6GlYQ5LdYKtznTuy 8 | 7wIDAQAB 9 | -----END PUBLIC KEY----- 10 | -------------------------------------------------------------------------------- /threeLibs/go-sql-driver/mysql/.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Issue description 2 | Tell us what should happen and what happens instead 3 | 4 | ### Example code 5 | ```go 6 | If possible, please enter some example code here to reproduce the issue. 7 | ``` 8 | 9 | ### Error log 10 | ``` 11 | If you have an error log, please paste it here. 12 | ``` 13 | 14 | ### Configuration 15 | *Driver version (or git SHA):* 16 | 17 | *Go version:* run `go version` in your console 18 | 19 | *Server version:* E.g. MySQL 5.6, MariaDB 10.0.20 20 | 21 | *Server OS:* E.g. Debian 8.1 (Jessie), Windows 10 22 | -------------------------------------------------------------------------------- /threeLibs/go-sql-driver/mysql/.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Description 2 | Please explain the changes you made here. 3 | 4 | ### Checklist 5 | - [ ] Code compiles correctly 6 | - [ ] Created tests which fail without the change (if possible) 7 | - [ ] All tests passing 8 | - [ ] Extended the README / documentation, if necessary 9 | - [ ] Added myself / the copyright holder to the AUTHORS file 10 | -------------------------------------------------------------------------------- /threeLibs/go-sql-driver/mysql/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .DS_Store? 3 | ._* 4 | .Spotlight-V100 5 | .Trashes 6 | Icon? 7 | ehthumbs.db 8 | Thumbs.db 9 | -------------------------------------------------------------------------------- /threeLibs/go-sql-driver/mysql/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | language: go 3 | go: 4 | - 1.2 5 | - 1.3 6 | - 1.4 7 | - 1.5 8 | - 1.6 9 | - 1.7 10 | - tip 11 | 12 | before_script: 13 | - mysql -e 'create database gotest;' 14 | -------------------------------------------------------------------------------- /threeLibs/go-sql-driver/mysql/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing Guidelines 2 | 3 | ## Reporting Issues 4 | 5 | Before creating a new Issue, please check first if a similar Issue [already exists](https://github.com/go-sql-driver/mysql/issues?state=open) or was [recently closed](https://github.com/go-sql-driver/mysql/issues?direction=desc&page=1&sort=updated&state=closed). 6 | 7 | ## Contributing Code 8 | 9 | By contributing to this project, you share your code under the Mozilla Public License 2, as specified in the LICENSE file. 10 | Don't forget to add yourself to the AUTHORS file. 11 | 12 | ### Code Review 13 | 14 | Everyone is invited to review and comment on pull requests. 15 | If it looks fine to you, comment with "LGTM" (Looks good to me). 16 | 17 | If changes are required, notice the reviewers with "PTAL" (Please take another look) after committing the fixes. 18 | 19 | Before merging the Pull Request, at least one [team member](https://github.com/go-sql-driver?tab=members) must have commented with "LGTM". 20 | 21 | ## Development Ideas 22 | 23 | If you are looking for ideas for code contributions, please check our [Development Ideas](https://github.com/go-sql-driver/mysql/wiki/Development-Ideas) Wiki page. 24 | -------------------------------------------------------------------------------- /threeLibs/go-sql-driver/mysql/appengine.go: -------------------------------------------------------------------------------- 1 | // Go MySQL Driver - A MySQL-Driver for Go's database/sql package 2 | // 3 | // Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. 4 | // 5 | // This Source Code Form is subject to the terms of the Mozilla Public 6 | // License, v. 2.0. If a copy of the MPL was not distributed with this file, 7 | // You can obtain one at http://mozilla.org/MPL/2.0/. 8 | 9 | // +build appengine 10 | 11 | package mysql 12 | 13 | import ( 14 | "appengine/cloudsql" 15 | ) 16 | 17 | func init() { 18 | RegisterDial("cloudsql", cloudsql.Dial) 19 | } 20 | -------------------------------------------------------------------------------- /threeLibs/go-sql-driver/mysql/errors_test.go: -------------------------------------------------------------------------------- 1 | // Go MySQL Driver - A MySQL-Driver for Go's database/sql package 2 | // 3 | // Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. 4 | // 5 | // This Source Code Form is subject to the terms of the Mozilla Public 6 | // License, v. 2.0. If a copy of the MPL was not distributed with this file, 7 | // You can obtain one at http://mozilla.org/MPL/2.0/. 8 | 9 | package mysql 10 | 11 | import ( 12 | "bytes" 13 | "log" 14 | "testing" 15 | ) 16 | 17 | func TestErrorsSetLogger(t *testing.T) { 18 | previous := errLog 19 | defer func() { 20 | errLog = previous 21 | }() 22 | 23 | // set up logger 24 | const expected = "prefix: test\n" 25 | buffer := bytes.NewBuffer(make([]byte, 0, 64)) 26 | logger := log.New(buffer, "prefix: ", 0) 27 | 28 | // print 29 | SetLogger(logger) 30 | errLog.Print("test") 31 | 32 | // check result 33 | if actual := buffer.String(); actual != expected { 34 | t.Errorf("expected %q, got %q", expected, actual) 35 | } 36 | } 37 | 38 | func TestErrorsStrictIgnoreNotes(t *testing.T) { 39 | runTests(t, dsn+"&sql_notes=false", func(dbt *DBTest) { 40 | dbt.mustExec("DROP TABLE IF EXISTS does_not_exist") 41 | }) 42 | } 43 | -------------------------------------------------------------------------------- /threeLibs/go-sql-driver/mysql/result.go: -------------------------------------------------------------------------------- 1 | // Go MySQL Driver - A MySQL-Driver for Go's database/sql package 2 | // 3 | // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. 4 | // 5 | // This Source Code Form is subject to the terms of the Mozilla Public 6 | // License, v. 2.0. If a copy of the MPL was not distributed with this file, 7 | // You can obtain one at http://mozilla.org/MPL/2.0/. 8 | 9 | package mysql 10 | 11 | type mysqlResult struct { 12 | affectedRows int64 13 | insertId int64 14 | } 15 | 16 | func (res *mysqlResult) LastInsertId() (int64, error) { 17 | return res.insertId, nil 18 | } 19 | 20 | func (res *mysqlResult) RowsAffected() (int64, error) { 21 | return res.affectedRows, nil 22 | } 23 | -------------------------------------------------------------------------------- /threeLibs/go-sql-driver/mysql/transaction.go: -------------------------------------------------------------------------------- 1 | // Go MySQL Driver - A MySQL-Driver for Go's database/sql package 2 | // 3 | // Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. 4 | // 5 | // This Source Code Form is subject to the terms of the Mozilla Public 6 | // License, v. 2.0. If a copy of the MPL was not distributed with this file, 7 | // You can obtain one at http://mozilla.org/MPL/2.0/. 8 | 9 | package mysql 10 | 11 | type mysqlTx struct { 12 | mc *mysqlConn 13 | } 14 | 15 | func (tx *mysqlTx) Commit() (err error) { 16 | if tx.mc == nil || tx.mc.netConn == nil { 17 | return ErrInvalidConn 18 | } 19 | err = tx.mc.exec("COMMIT") 20 | tx.mc = nil 21 | return 22 | } 23 | 24 | func (tx *mysqlTx) Rollback() (err error) { 25 | if tx.mc == nil || tx.mc.netConn == nil { 26 | return ErrInvalidConn 27 | } 28 | err = tx.mc.exec("ROLLBACK") 29 | tx.mc = nil 30 | return 31 | } 32 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 The Xorm Authors 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of the {organization} nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/builder_delete.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import ( 8 | "errors" 9 | "fmt" 10 | ) 11 | 12 | func (b *Builder) deleteWriteTo(w Writer) error { 13 | if len(b.tableName) <= 0 { 14 | return errors.New("no table indicated") 15 | } 16 | 17 | if _, err := fmt.Fprintf(w, "DELETE FROM %s WHERE ", b.tableName); err != nil { 18 | return err 19 | } 20 | 21 | return b.cond.WriteTo(w) 22 | } 23 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/builder_insert.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import ( 8 | "bytes" 9 | "errors" 10 | "fmt" 11 | ) 12 | 13 | func (b *Builder) insertWriteTo(w Writer) error { 14 | if len(b.tableName) <= 0 { 15 | return errors.New("no table indicated") 16 | } 17 | if len(b.inserts) <= 0 { 18 | return errors.New("no column to be update") 19 | } 20 | 21 | if _, err := fmt.Fprintf(w, "INSERT INTO %s (", b.tableName); err != nil { 22 | return err 23 | } 24 | 25 | var args = make([]interface{}, 0) 26 | var bs []byte 27 | var valBuffer = bytes.NewBuffer(bs) 28 | var i = 0 29 | for col, value := range b.inserts { 30 | fmt.Fprint(w, col) 31 | if e, ok := value.(expr); ok { 32 | fmt.Fprint(valBuffer, e.sql) 33 | args = append(args, e.args...) 34 | } else { 35 | fmt.Fprint(valBuffer, "?") 36 | args = append(args, value) 37 | } 38 | 39 | if i != len(b.inserts)-1 { 40 | if _, err := fmt.Fprint(w, ","); err != nil { 41 | return err 42 | } 43 | if _, err := fmt.Fprint(valBuffer, ","); err != nil { 44 | return err 45 | } 46 | } 47 | i = i + 1 48 | } 49 | 50 | if _, err := fmt.Fprint(w, ") Values ("); err != nil { 51 | return err 52 | } 53 | 54 | if _, err := w.Write(valBuffer.Bytes()); err != nil { 55 | return err 56 | } 57 | if _, err := fmt.Fprint(w, ")"); err != nil { 58 | return err 59 | } 60 | 61 | w.Append(args...) 62 | 63 | return nil 64 | } 65 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/builder_select.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import ( 8 | "errors" 9 | "fmt" 10 | ) 11 | 12 | func (b *Builder) selectWriteTo(w Writer) error { 13 | if len(b.tableName) <= 0 { 14 | return errors.New("no table indicated") 15 | } 16 | 17 | if _, err := fmt.Fprint(w, "SELECT "); err != nil { 18 | return err 19 | } 20 | if len(b.selects) > 0 { 21 | for i, s := range b.selects { 22 | if _, err := fmt.Fprint(w, s); err != nil { 23 | return err 24 | } 25 | if i != len(b.selects)-1 { 26 | if _, err := fmt.Fprint(w, ","); err != nil { 27 | return err 28 | } 29 | } 30 | } 31 | } else { 32 | if _, err := fmt.Fprint(w, "*"); err != nil { 33 | return err 34 | } 35 | } 36 | 37 | if _, err := fmt.Fprintf(w, " FROM %s", b.tableName); err != nil { 38 | return err 39 | } 40 | 41 | for _, v := range b.joins { 42 | fmt.Fprintf(w, " %s JOIN %s ON ", v.joinType, v.joinTable) 43 | if err := v.joinCond.WriteTo(w); err != nil { 44 | return err 45 | } 46 | } 47 | 48 | if !b.cond.IsValid() { 49 | return nil 50 | } 51 | 52 | if _, err := fmt.Fprint(w, " WHERE "); err != nil { 53 | return err 54 | } 55 | 56 | return b.cond.WriteTo(w) 57 | } 58 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/builder_update.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import ( 8 | "errors" 9 | "fmt" 10 | ) 11 | 12 | func (b *Builder) updateWriteTo(w Writer) error { 13 | if len(b.tableName) <= 0 { 14 | return errors.New("no table indicated") 15 | } 16 | if len(b.updates) <= 0 { 17 | return errors.New("no column to be update") 18 | } 19 | 20 | if _, err := fmt.Fprintf(w, "UPDATE %s SET ", b.tableName); err != nil { 21 | return err 22 | } 23 | 24 | for i, s := range b.updates { 25 | if err := s.opWriteTo(",", w); err != nil { 26 | return err 27 | } 28 | 29 | if i != len(b.updates)-1 { 30 | if _, err := fmt.Fprint(w, ","); err != nil { 31 | return err 32 | } 33 | } 34 | } 35 | 36 | if _, err := fmt.Fprint(w, " WHERE "); err != nil { 37 | return err 38 | } 39 | 40 | return b.cond.WriteTo(w) 41 | } 42 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/circle.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | override: 3 | # './...' is a relative pattern which means all subdirectories 4 | - go get -t -d -v ./... 5 | - go build -v 6 | - go get -u github.com/golang/lint/golint 7 | 8 | test: 9 | override: 10 | # './...' is a relative pattern which means all subdirectories 11 | - golint ./... 12 | - go test -v -race -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/cond_and.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import "fmt" 8 | 9 | type condAnd []Cond 10 | 11 | var _ Cond = condAnd{} 12 | 13 | // And generates AND conditions 14 | func And(conds ...Cond) Cond { 15 | var result = make(condAnd, 0, len(conds)) 16 | for _, cond := range conds { 17 | if cond == nil || !cond.IsValid() { 18 | continue 19 | } 20 | result = append(result, cond) 21 | } 22 | return result 23 | } 24 | 25 | func (and condAnd) WriteTo(w Writer) error { 26 | for i, cond := range and { 27 | _, isOr := cond.(condOr) 28 | if isOr { 29 | fmt.Fprint(w, "(") 30 | } 31 | 32 | err := cond.WriteTo(w) 33 | if err != nil { 34 | return err 35 | } 36 | 37 | if isOr { 38 | fmt.Fprint(w, ")") 39 | } 40 | 41 | if i != len(and)-1 { 42 | fmt.Fprint(w, " AND ") 43 | } 44 | } 45 | 46 | return nil 47 | } 48 | 49 | func (and condAnd) And(conds ...Cond) Cond { 50 | return And(and, And(conds...)) 51 | } 52 | 53 | func (and condAnd) Or(conds ...Cond) Cond { 54 | return Or(and, Or(conds...)) 55 | } 56 | 57 | func (and condAnd) IsValid() bool { 58 | return len(and) > 0 59 | } 60 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/cond_between.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import "fmt" 8 | 9 | // Between implmentes between condition 10 | type Between struct { 11 | Col string 12 | LessVal interface{} 13 | MoreVal interface{} 14 | } 15 | 16 | var _ Cond = Between{} 17 | 18 | // WriteTo write data to Writer 19 | func (between Between) WriteTo(w Writer) error { 20 | if _, err := fmt.Fprintf(w, "%s BETWEEN ? AND ?", between.Col); err != nil { 21 | return err 22 | } 23 | w.Append(between.LessVal, between.MoreVal) 24 | return nil 25 | } 26 | 27 | // And implments And with other conditions 28 | func (between Between) And(conds ...Cond) Cond { 29 | return And(between, And(conds...)) 30 | } 31 | 32 | // Or implments Or with other conditions 33 | func (between Between) Or(conds ...Cond) Cond { 34 | return Or(between, Or(conds...)) 35 | } 36 | 37 | // IsValid tests if the condition is valid 38 | func (between Between) IsValid() bool { 39 | return len(between.Col) > 0 40 | } 41 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/cond_expr.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import "fmt" 8 | 9 | type expr struct { 10 | sql string 11 | args []interface{} 12 | } 13 | 14 | var _ Cond = expr{} 15 | 16 | // Expr generate customerize SQL 17 | func Expr(sql string, args ...interface{}) Cond { 18 | return expr{sql, args} 19 | } 20 | 21 | func (expr expr) WriteTo(w Writer) error { 22 | if _, err := fmt.Fprint(w, expr.sql); err != nil { 23 | return err 24 | } 25 | w.Append(expr.args...) 26 | return nil 27 | } 28 | 29 | func (expr expr) And(conds ...Cond) Cond { 30 | return And(expr, And(conds...)) 31 | } 32 | 33 | func (expr expr) Or(conds ...Cond) Cond { 34 | return Or(expr, Or(conds...)) 35 | } 36 | 37 | func (expr expr) IsValid() bool { 38 | return len(expr.sql) > 0 39 | } 40 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/cond_like.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import "fmt" 8 | 9 | // Like defines like condition 10 | type Like [2]string 11 | 12 | var _ Cond = Like{"", ""} 13 | 14 | // WriteTo write SQL to Writer 15 | func (like Like) WriteTo(w Writer) error { 16 | if _, err := fmt.Fprintf(w, "%s LIKE ?", like[0]); err != nil { 17 | return err 18 | } 19 | // FIXME: if use other regular express, this will be failed. but for compitable, keep this 20 | if like[1][0] == '%' || like[1][len(like[1])-1] == '%' { 21 | w.Append(like[1]) 22 | } else { 23 | w.Append("%" + like[1] + "%") 24 | } 25 | return nil 26 | } 27 | 28 | // And implements And with other conditions 29 | func (like Like) And(conds ...Cond) Cond { 30 | return And(like, And(conds...)) 31 | } 32 | 33 | // Or implements Or with other conditions 34 | func (like Like) Or(conds ...Cond) Cond { 35 | return Or(like, Or(conds...)) 36 | } 37 | 38 | // IsValid tests if this condition is valid 39 | func (like Like) IsValid() bool { 40 | return len(like[0]) > 0 && len(like[1]) > 0 41 | } 42 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/cond_not.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import "fmt" 8 | 9 | // Not defines NOT condition 10 | type Not [1]Cond 11 | 12 | var _ Cond = Not{} 13 | 14 | // WriteTo writes SQL to Writer 15 | func (not Not) WriteTo(w Writer) error { 16 | if _, err := fmt.Fprint(w, "NOT "); err != nil { 17 | return err 18 | } 19 | switch not[0].(type) { 20 | case condAnd, condOr: 21 | if _, err := fmt.Fprint(w, "("); err != nil { 22 | return err 23 | } 24 | } 25 | 26 | if err := not[0].WriteTo(w); err != nil { 27 | return err 28 | } 29 | 30 | switch not[0].(type) { 31 | case condAnd, condOr: 32 | if _, err := fmt.Fprint(w, ")"); err != nil { 33 | return err 34 | } 35 | } 36 | 37 | return nil 38 | } 39 | 40 | // And implements And with other conditions 41 | func (not Not) And(conds ...Cond) Cond { 42 | return And(not, And(conds...)) 43 | } 44 | 45 | // Or implements Or with other conditions 46 | func (not Not) Or(conds ...Cond) Cond { 47 | return Or(not, Or(conds...)) 48 | } 49 | 50 | // IsValid tests if this condition is valid 51 | func (not Not) IsValid() bool { 52 | return not[0] != nil && not[0].IsValid() 53 | } 54 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/cond_null.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import "fmt" 8 | 9 | // IsNull defines IS NULL condition 10 | type IsNull [1]string 11 | 12 | var _ Cond = IsNull{""} 13 | 14 | // WriteTo write SQL to Writer 15 | func (isNull IsNull) WriteTo(w Writer) error { 16 | _, err := fmt.Fprintf(w, "%s IS NULL", isNull[0]) 17 | return err 18 | } 19 | 20 | // And implements And with other conditions 21 | func (isNull IsNull) And(conds ...Cond) Cond { 22 | return And(isNull, And(conds...)) 23 | } 24 | 25 | // Or implements Or with other conditions 26 | func (isNull IsNull) Or(conds ...Cond) Cond { 27 | return Or(isNull, Or(conds...)) 28 | } 29 | 30 | // IsValid tests if this condition is valid 31 | func (isNull IsNull) IsValid() bool { 32 | return len(isNull[0]) > 0 33 | } 34 | 35 | // NotNull defines NOT NULL condition 36 | type NotNull [1]string 37 | 38 | var _ Cond = NotNull{""} 39 | 40 | // WriteTo write SQL to Writer 41 | func (notNull NotNull) WriteTo(w Writer) error { 42 | _, err := fmt.Fprintf(w, "%s IS NOT NULL", notNull[0]) 43 | return err 44 | } 45 | 46 | // And implements And with other conditions 47 | func (notNull NotNull) And(conds ...Cond) Cond { 48 | return And(notNull, And(conds...)) 49 | } 50 | 51 | // Or implements Or with other conditions 52 | func (notNull NotNull) Or(conds ...Cond) Cond { 53 | return Or(notNull, Or(conds...)) 54 | } 55 | 56 | // IsValid tests if this condition is valid 57 | func (notNull NotNull) IsValid() bool { 58 | return len(notNull[0]) > 0 59 | } 60 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/cond_or.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import "fmt" 8 | 9 | type condOr []Cond 10 | 11 | var _ Cond = condOr{} 12 | 13 | // Or sets OR conditions 14 | func Or(conds ...Cond) Cond { 15 | var result = make(condOr, 0, len(conds)) 16 | for _, cond := range conds { 17 | if cond == nil || !cond.IsValid() { 18 | continue 19 | } 20 | result = append(result, cond) 21 | } 22 | return result 23 | } 24 | 25 | // WriteTo implments Cond 26 | func (o condOr) WriteTo(w Writer) error { 27 | for i, cond := range o { 28 | var needQuote bool 29 | switch cond.(type) { 30 | case condAnd: 31 | needQuote = true 32 | case Eq: 33 | needQuote = (len(cond.(Eq)) > 1) 34 | } 35 | 36 | if needQuote { 37 | fmt.Fprint(w, "(") 38 | } 39 | 40 | err := cond.WriteTo(w) 41 | if err != nil { 42 | return err 43 | } 44 | 45 | if needQuote { 46 | fmt.Fprint(w, ")") 47 | } 48 | 49 | if i != len(o)-1 { 50 | fmt.Fprint(w, " OR ") 51 | } 52 | } 53 | 54 | return nil 55 | } 56 | 57 | func (o condOr) And(conds ...Cond) Cond { 58 | return And(o, And(conds...)) 59 | } 60 | 61 | func (o condOr) Or(conds ...Cond) Cond { 62 | return Or(o, Or(conds...)) 63 | } 64 | 65 | func (o condOr) IsValid() bool { 66 | return len(o) > 0 67 | } 68 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/builder/error.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package builder 6 | 7 | import "errors" 8 | 9 | var ( 10 | // ErrNotSupportType not supported SQL type error 11 | ErrNotSupportType = errors.New("not supported SQL type") 12 | // ErrNoNotInConditions no NOT IN params error 13 | ErrNoNotInConditions = errors.New("No NOT IN conditions") 14 | // ErrNoInConditions no IN params error 15 | ErrNoInConditions = errors.New("No IN conditions") 16 | ) 17 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014, go-xorm 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of the {organization} nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/circle.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | override: 3 | # './...' is a relative pattern which means all subdirectories 4 | - cd xorm && go get -t -d -v ./... 5 | - cd xorm && go build -v 6 | 7 | test: 8 | override: 9 | # './...' is a relative pattern which means all subdirectories 10 | - cd xorm && go test -v -race -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/.gitignore: -------------------------------------------------------------------------------- 1 | xorm 2 | xorm.db 3 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/.gopmfile: -------------------------------------------------------------------------------- 1 | [deps] 2 | github.com/go-xorm/xorm = 3 | github.com/go-sql-driver/mysql = 4 | github.com/go-xorm/core = 5 | github.com/go-xweb/log = 6 | github.com/lib/pq = 7 | github.com/ziutek/mymysql = 8 | 9 | [res] 10 | include = templates 11 | 12 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/driver.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package main 6 | 7 | import "fmt" 8 | 9 | var CmdDriver = &Command{ 10 | UsageLine: "driver", 11 | Short: "list all supported drivers", 12 | Long: ` 13 | list all supported drivers 14 | `, 15 | } 16 | 17 | func init() { 18 | CmdDriver.Run = runDriver 19 | CmdDriver.Flags = map[string]bool{} 20 | } 21 | 22 | func runDriver(cmd *Command, args []string) { 23 | for n, d := range supportedDrivers { 24 | fmt.Println(n, "\t", d) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/dump.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package main 6 | 7 | import ( 8 | "fmt" 9 | "os" 10 | 11 | "github.com/XGoServer/threeLibs/go-xorm/core" 12 | "github.com/XGoServer/threeLibs/go-xorm/xorm" 13 | ) 14 | 15 | var CmdDump = &Command{ 16 | UsageLine: "dump driverName datasourceName", 17 | Short: "dump database all table struct's and data to standard output", 18 | Long: ` 19 | dump database for sqlite3, mysql, postgres. 20 | 21 | driverName Database driver name, now supported four: mysql mymysql sqlite3 postgres 22 | datasourceName Database connection uri, for detail infomation please visit driver's project page 23 | `, 24 | } 25 | 26 | func init() { 27 | CmdDump.Run = runDump 28 | CmdDump.Flags = map[string]bool{} 29 | } 30 | 31 | func runDump(cmd *Command, args []string) { 32 | if len(args) != 2 { 33 | fmt.Println("params error, please see xorm help dump") 34 | return 35 | } 36 | 37 | var err error 38 | engine, err = xorm.NewEngine(args[0], args[1]) 39 | if err != nil { 40 | fmt.Println(err) 41 | return 42 | } 43 | 44 | engine.ShowSQL(false) 45 | engine.Logger().SetLevel(core.LOG_UNKNOWN) 46 | 47 | err = engine.Ping() 48 | if err != nil { 49 | fmt.Println(err) 50 | return 51 | } 52 | 53 | err = engine.DumpAll(os.Stdout) 54 | if err != nil { 55 | fmt.Println(err) 56 | return 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/lang.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package main 6 | 7 | import ( 8 | "io/ioutil" 9 | "strings" 10 | "text/template" 11 | 12 | "github.com/XGoServer/threeLibs/go-xorm/core" 13 | ) 14 | 15 | type LangTmpl struct { 16 | Funcs template.FuncMap 17 | Formater func(string) (string, error) 18 | GenImports func([]*core.Table) map[string]string 19 | } 20 | 21 | var ( 22 | mapper = &core.SnakeMapper{} 23 | langTmpls = map[string]LangTmpl{ 24 | "go": GoLangTmpl, 25 | "c++": CPlusTmpl, 26 | "objc": ObjcTmpl, 27 | } 28 | ) 29 | 30 | func loadConfig(f string) map[string]string { 31 | bts, err := ioutil.ReadFile(f) 32 | if err != nil { 33 | return nil 34 | } 35 | configs := make(map[string]string) 36 | lines := strings.Split(string(bts), "\n") 37 | for _, line := range lines { 38 | line = strings.TrimRight(line, "\r") 39 | vs := strings.Split(line, "=") 40 | if len(vs) == 2 { 41 | configs[strings.TrimSpace(vs[0])] = strings.TrimSpace(vs[1]) 42 | } 43 | } 44 | return configs 45 | } 46 | 47 | func unTitle(src string) string { 48 | if src == "" { 49 | return "" 50 | } 51 | 52 | if len(src) == 1 { 53 | return strings.ToLower(string(src[0])) 54 | } else { 55 | return strings.ToLower(string(src[0])) + src[1:] 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/source.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package main 6 | 7 | import ( 8 | "fmt" 9 | "os" 10 | 11 | "github.com/XGoServer/threeLibs/go-xorm/core" 12 | "github.com/XGoServer/threeLibs/go-xorm/xorm" 13 | ) 14 | 15 | var CmdSource = &Command{ 16 | UsageLine: "source driverName datasourceName", 17 | Short: "source execute std in to datasourceName", 18 | Long: ` 19 | source from standard std in for sqlite3, mysql, postgres. 20 | 21 | driverName Database driver name, now supported four: mysql mymysql sqlite3 postgres 22 | datasourceName Database connection uri, for detail infomation please visit driver's project page 23 | `, 24 | } 25 | 26 | func init() { 27 | CmdSource.Run = runSource 28 | CmdSource.Flags = map[string]bool{} 29 | } 30 | 31 | func runSource(cmd *Command, args []string) { 32 | if len(args) != 2 { 33 | fmt.Println("params error, please see xorm help source") 34 | return 35 | } 36 | 37 | var err error 38 | engine, err = xorm.NewEngine(args[0], args[1]) 39 | if err != nil { 40 | fmt.Println(err) 41 | return 42 | } 43 | 44 | engine.ShowSQL(false) 45 | engine.Logger().SetLevel(core.LOG_UNKNOWN) 46 | 47 | err = engine.Ping() 48 | if err != nil { 49 | fmt.Println(err) 50 | return 51 | } 52 | 53 | _, err = engine.Import(os.Stdin) 54 | if err.Error() == "not an error" { 55 | err = nil 56 | } 57 | if err != nil { 58 | fmt.Println(err) 59 | return 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/sqlite3.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build sqlite3 6 | 7 | package main 8 | 9 | import ( 10 | _ "github.com/mattn/go-sqlite3" 11 | ) 12 | 13 | func init() { 14 | supportedDrivers["sqlite3"] = "github.com/mattn/go-sqlite3" 15 | } 16 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/templates/c++/class.h.tpl: -------------------------------------------------------------------------------- 1 | {{ range .Imports}} 2 | #include {{.}} 3 | {{ end }} 4 | 5 | {{range .Tables}}class {{Mapper .Name}} { 6 | {{$table := .}} 7 | public: 8 | {{range .Columns}}{{$name := Mapper .Name}} {{Type .}} Get{{Mapper .Name}}() { 9 | return this->m_{{UnTitle $name}}; 10 | } 11 | 12 | void Set{{$name}}({{Type .}} {{UnTitle $name}}) { 13 | this->m_{{UnTitle $name}} = {{UnTitle $name}}; 14 | } 15 | 16 | {{end}}private: 17 | {{range .Columns}}{{$name := Mapper .Name}} {{Type .}} m_{{UnTitle $name}}; 18 | {{end}} 19 | } 20 | 21 | {{end}} -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/templates/c++/config: -------------------------------------------------------------------------------- 1 | lang=c++ -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/templates/go/config: -------------------------------------------------------------------------------- 1 | lang=go -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/templates/go/struct.go.tpl: -------------------------------------------------------------------------------- 1 | package {{.Model}} 2 | 3 | import ( 4 | {{range .Imports}}"{{.}}"{{end}} 5 | ) 6 | 7 | {{range .Tables}} 8 | type {{Mapper .Name}} struct { 9 | {{$table := .}} 10 | {{range .Columns}} {{Mapper .Name}} {{Type .}} 11 | {{end}} 12 | } 13 | 14 | {{end}} -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/templates/gomeddler/config: -------------------------------------------------------------------------------- 1 | lang=go 2 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/templates/gomeddler/struct.go.tpl: -------------------------------------------------------------------------------- 1 | package {{.Model}} 2 | 3 | {{$ilen := len .Imports}} 4 | {{if gt $ilen 0}} 5 | import ( 6 | {{range .Imports}}"{{.}}"{{end}} 7 | ) 8 | {{end}} 9 | 10 | {{range .Tables}} 11 | type {{Mapper .Name}} struct { 12 | {{$table := .}} 13 | {{range .ColumnsSeq}}{{$col := $table.GetColumn .}} {{Mapper $col.Name}} {{Type $col}} `meddler:"{{$col.Name}}{{if $col.IsPrimaryKey}},pk{{end}}{{if $col.Nullable}},zeroisnull{{end}}"` 14 | {{end}} 15 | } 16 | 17 | {{end}} 18 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/templates/goxorm/config: -------------------------------------------------------------------------------- 1 | lang=go 2 | genJson=0 3 | prefix=cos_ 4 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/templates/goxorm/struct.go.tpl: -------------------------------------------------------------------------------- 1 | package {{.Model}} 2 | 3 | {{$ilen := len .Imports}} 4 | {{if gt $ilen 0}} 5 | import ( 6 | {{range .Imports}}"{{.}}"{{end}} 7 | ) 8 | {{end}} 9 | 10 | {{range .Tables}} 11 | type {{Mapper .Name}} struct { 12 | {{$table := .}} 13 | {{range .ColumnsSeq}}{{$col := $table.GetColumn .}} {{Mapper $col.Name}} {{Type $col}} {{Tag $table $col}} 14 | {{end}} 15 | } 16 | 17 | {{end}} -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/templates/objc/class.h.tpl: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | {{range .Tables}}@interface {{Mapper .Name}} : NSObject 4 | 5 | {{range .Columns}}@property(nonatomic,{{if eq (Type .) "NSString*"}}retain{{else}}assign{{end}}) {{Type .}} {{if eq .Name "id"}}remote_id{{else}}{{Mapper .Name}}{{end}}; 6 | {{end}} 7 | +({{Mapper .Name}} *)paserJson:(NSString *)jsonString; 8 | -(NSString *)toJson; 9 | 10 | @end 11 | {{end}} -------------------------------------------------------------------------------- /threeLibs/go-xorm/cmd/xorm/templates/objc/config: -------------------------------------------------------------------------------- 1 | lang=objc -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/.gitignore: -------------------------------------------------------------------------------- 1 | *.db 2 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 - 2015 Lunny Xiao 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of the {organization} nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/benchmark.sh: -------------------------------------------------------------------------------- 1 | go test -v -bench=. -run=XXX 2 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/circle.yml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | override: 3 | # './...' is a relative pattern which means all subdirectories 4 | - go get -t -d -v ./... 5 | - go build -v 6 | 7 | database: 8 | override: 9 | - mysql -u root -e "CREATE DATABASE core_test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci" 10 | 11 | test: 12 | override: 13 | # './...' is a relative pattern which means all subdirectories 14 | - go test -v -race -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/converstion.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | // Conversion is an interface. A type implements Conversion will according 4 | // the custom method to fill into database and retrieve from database. 5 | type Conversion interface { 6 | FromDB([]byte) error 7 | ToDB() ([]byte, error) 8 | } 9 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/driver.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | type Driver interface { 4 | Parse(string, string) (*Uri, error) 5 | } 6 | 7 | var ( 8 | drivers = map[string]Driver{} 9 | ) 10 | 11 | func RegisterDriver(driverName string, driver Driver) { 12 | if driver == nil { 13 | panic("core: Register driver is nil") 14 | } 15 | if _, dup := drivers[driverName]; dup { 16 | panic("core: Register called twice for driver " + driverName) 17 | } 18 | drivers[driverName] = driver 19 | } 20 | 21 | func QueryDriver(driverName string) Driver { 22 | return drivers[driverName] 23 | } 24 | 25 | func RegisteredDriverSize() int { 26 | return len(drivers) 27 | } 28 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/error.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | import "errors" 4 | 5 | var ( 6 | ErrNoMapPointer = errors.New("mp should be a map's pointer") 7 | ErrNoStructPointer = errors.New("mp should be a struct's pointer") 8 | ) 9 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/ilogger.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | type LogLevel int 4 | 5 | const ( 6 | // !nashtsai! following level also match syslog.Priority value 7 | LOG_DEBUG LogLevel = iota 8 | LOG_INFO 9 | LOG_WARNING 10 | LOG_ERR 11 | LOG_OFF 12 | LOG_UNKNOWN 13 | ) 14 | 15 | // logger interface 16 | type ILogger interface { 17 | Debug(v ...interface{}) 18 | Debugf(format string, v ...interface{}) 19 | Error(v ...interface{}) 20 | Errorf(format string, v ...interface{}) 21 | Info(v ...interface{}) 22 | Infof(format string, v ...interface{}) 23 | Warn(v ...interface{}) 24 | Warnf(format string, v ...interface{}) 25 | 26 | Level() LogLevel 27 | SetLevel(l LogLevel) 28 | 29 | ShowSQL(show ...bool) 30 | IsShowSQL() bool 31 | } 32 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/index.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | import ( 4 | "fmt" 5 | "sort" 6 | "strings" 7 | ) 8 | 9 | const ( 10 | IndexType = iota + 1 11 | UniqueType 12 | ) 13 | 14 | // database index 15 | type Index struct { 16 | IsRegular bool 17 | Name string 18 | Type int 19 | Cols []string 20 | } 21 | 22 | func (index *Index) XName(tableName string) string { 23 | if !strings.HasPrefix(index.Name, "UQE_") && 24 | !strings.HasPrefix(index.Name, "IDX_") { 25 | if index.Type == UniqueType { 26 | return fmt.Sprintf("UQE_%v_%v", tableName, index.Name) 27 | } 28 | return fmt.Sprintf("IDX_%v_%v", tableName, index.Name) 29 | } 30 | return index.Name 31 | } 32 | 33 | // add columns which will be composite index 34 | func (index *Index) AddColumn(cols ...string) { 35 | for _, col := range cols { 36 | index.Cols = append(index.Cols, col) 37 | } 38 | } 39 | 40 | func (index *Index) Equal(dst *Index) bool { 41 | if index.Type != dst.Type { 42 | return false 43 | } 44 | if len(index.Cols) != len(dst.Cols) { 45 | return false 46 | } 47 | sort.StringSlice(index.Cols).Sort() 48 | sort.StringSlice(dst.Cols).Sort() 49 | 50 | for i := 0; i < len(index.Cols); i++ { 51 | if index.Cols[i] != dst.Cols[i] { 52 | return false 53 | } 54 | } 55 | return true 56 | } 57 | 58 | // new an index 59 | func NewIndex(name string, indexType int) *Index { 60 | return &Index{true, name, indexType, make([]string, 0)} 61 | } 62 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/mapper_test.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | import ( 4 | "testing" 5 | ) 6 | 7 | func TestGonicMapperFromObj(t *testing.T) { 8 | testCases := map[string]string{ 9 | "HTTPLib": "http_lib", 10 | "id": "id", 11 | "ID": "id", 12 | "IDa": "i_da", 13 | "iDa": "i_da", 14 | "IDAa": "id_aa", 15 | "aID": "a_id", 16 | "aaID": "aa_id", 17 | "aaaID": "aaa_id", 18 | "MyREalFunkYLONgNAME": "my_r_eal_funk_ylo_ng_name", 19 | } 20 | 21 | for in, expected := range testCases { 22 | out := gonicCasedName(in) 23 | if out != expected { 24 | t.Errorf("Given %s, expected %s but got %s", in, expected, out) 25 | } 26 | } 27 | } 28 | 29 | func TestGonicMapperToObj(t *testing.T) { 30 | testCases := map[string]string{ 31 | "http_lib": "HTTPLib", 32 | "id": "ID", 33 | "ida": "Ida", 34 | "id_aa": "IDAa", 35 | "aa_id": "AaID", 36 | "my_r_eal_funk_ylo_ng_name": "MyREalFunkYloNgName", 37 | } 38 | 39 | for in, expected := range testCases { 40 | out := LintGonicMapper.Table2Obj(in) 41 | if out != expected { 42 | t.Errorf("Given %s, expected %s but got %s", in, expected, out) 43 | } 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/pk.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | import ( 4 | "bytes" 5 | "encoding/gob" 6 | ) 7 | 8 | type PK []interface{} 9 | 10 | func NewPK(pks ...interface{}) *PK { 11 | p := PK(pks) 12 | return &p 13 | } 14 | 15 | func (p *PK) ToString() (string, error) { 16 | buf := new(bytes.Buffer) 17 | enc := gob.NewEncoder(buf) 18 | err := enc.Encode(*p) 19 | return buf.String(), err 20 | } 21 | 22 | func (p *PK) FromString(content string) error { 23 | dec := gob.NewDecoder(bytes.NewBufferString(content)) 24 | err := dec.Decode(p) 25 | return err 26 | } 27 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/pk_test.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | import ( 4 | "fmt" 5 | "reflect" 6 | "testing" 7 | ) 8 | 9 | func TestPK(t *testing.T) { 10 | p := NewPK(1, 3, "string") 11 | str, err := p.ToString() 12 | if err != nil { 13 | t.Error(err) 14 | } 15 | fmt.Println(str) 16 | 17 | s := &PK{} 18 | err = s.FromString(str) 19 | if err != nil { 20 | t.Error(err) 21 | } 22 | fmt.Println(s) 23 | 24 | if len(*p) != len(*s) { 25 | t.Fatal("p", *p, "should be equal", *s) 26 | } 27 | 28 | for i, ori := range *p { 29 | if ori != (*s)[i] { 30 | t.Fatal("ori", ori, reflect.ValueOf(ori), "should be equal", (*s)[i], reflect.ValueOf((*s)[i])) 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/core/scan.go: -------------------------------------------------------------------------------- 1 | package core 2 | 3 | import ( 4 | "database/sql/driver" 5 | "fmt" 6 | "time" 7 | ) 8 | 9 | type NullTime time.Time 10 | 11 | var ( 12 | _ driver.Valuer = NullTime{} 13 | ) 14 | 15 | func (ns *NullTime) Scan(value interface{}) error { 16 | if value == nil { 17 | return nil 18 | } 19 | return convertTime(ns, value) 20 | } 21 | 22 | // Value implements the driver Valuer interface. 23 | func (ns NullTime) Value() (driver.Value, error) { 24 | if (time.Time)(ns).IsZero() { 25 | return nil, nil 26 | } 27 | return (time.Time)(ns).Format("2006-01-02 15:04:05"), nil 28 | } 29 | 30 | func convertTime(dest *NullTime, src interface{}) error { 31 | // Common cases, without reflect. 32 | switch s := src.(type) { 33 | case string: 34 | t, err := time.Parse("2006-01-02 15:04:05", s) 35 | if err != nil { 36 | return err 37 | } 38 | *dest = NullTime(t) 39 | return nil 40 | case []uint8: 41 | t, err := time.Parse("2006-01-02 15:04:05", string(s)) 42 | if err != nil { 43 | return err 44 | } 45 | *dest = NullTime(t) 46 | return nil 47 | case nil: 48 | default: 49 | return fmt.Errorf("unsupported driver -> Scan pair: %T -> %T", src, dest) 50 | } 51 | return nil 52 | } 53 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | *.db 6 | 7 | # Folders 8 | _obj 9 | _test 10 | 11 | # Architecture specific extensions/prefixes 12 | *.[568vq] 13 | [568vq].out 14 | 15 | *.cgo1.go 16 | *.cgo2.c 17 | _cgo_defun.c 18 | _cgo_gotypes.go 19 | _cgo_export.* 20 | 21 | _testmain.go 22 | 23 | *.exe 24 | 25 | *.log 26 | .vendor 27 | temp_test.go 28 | .vscode 29 | xorm.test 30 | *.sqlite3 31 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 - 2015 The Xorm Authors 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | * Neither the name of the {organization} nor the names of its 15 | contributors may be used to endorse or promote products derived from 16 | this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 21 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 22 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 24 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 25 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 26 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/cache_lru_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import ( 8 | "testing" 9 | 10 | "github.com/XGoServer/threeLibs/go-xorm/core" 11 | "github.com/stretchr/testify/assert" 12 | ) 13 | 14 | func TestLRUCache(t *testing.T) { 15 | type CacheObject1 struct { 16 | Id int64 17 | } 18 | 19 | store := NewMemoryStore() 20 | cacher := NewLRUCacher(store, 10000) 21 | 22 | tableName := "cache_object1" 23 | pks := []core.PK{ 24 | {1}, 25 | {2}, 26 | } 27 | 28 | for _, pk := range pks { 29 | sid, err := pk.ToString() 30 | assert.NoError(t, err) 31 | 32 | cacher.PutIds(tableName, "select * from cache_object1", sid) 33 | ids := cacher.GetIds(tableName, "select * from cache_object1") 34 | assert.EqualValues(t, sid, ids) 35 | 36 | cacher.ClearIds(tableName) 37 | ids2 := cacher.GetIds(tableName, "select * from cache_object1") 38 | assert.Nil(t, ids2) 39 | 40 | obj2 := cacher.GetBean(tableName, sid) 41 | assert.Nil(t, obj2) 42 | 43 | var obj = new(CacheObject1) 44 | cacher.PutBean(tableName, sid, obj) 45 | obj3 := cacher.GetBean(tableName, sid) 46 | assert.EqualValues(t, obj, obj3) 47 | 48 | cacher.DelBean(tableName, sid) 49 | obj4 := cacher.GetBean(tableName, sid) 50 | assert.Nil(t, obj4) 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/cache_memory_store.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import ( 8 | "sync" 9 | 10 | "github.com/XGoServer/threeLibs/go-xorm/core" 11 | ) 12 | 13 | var _ core.CacheStore = NewMemoryStore() 14 | 15 | // MemoryStore represents in-memory store 16 | type MemoryStore struct { 17 | store map[interface{}]interface{} 18 | mutex sync.RWMutex 19 | } 20 | 21 | // NewMemoryStore creates a new store in memory 22 | func NewMemoryStore() *MemoryStore { 23 | return &MemoryStore{store: make(map[interface{}]interface{})} 24 | } 25 | 26 | // Put puts object into store 27 | func (s *MemoryStore) Put(key string, value interface{}) error { 28 | s.mutex.Lock() 29 | defer s.mutex.Unlock() 30 | s.store[key] = value 31 | return nil 32 | } 33 | 34 | // Get gets object from store 35 | func (s *MemoryStore) Get(key string) (interface{}, error) { 36 | s.mutex.RLock() 37 | defer s.mutex.RUnlock() 38 | if v, ok := s.store[key]; ok { 39 | return v, nil 40 | } 41 | 42 | return nil, ErrNotExist 43 | } 44 | 45 | // Del deletes object 46 | func (s *MemoryStore) Del(key string) error { 47 | s.mutex.Lock() 48 | defer s.mutex.Unlock() 49 | delete(s.store, key) 50 | return nil 51 | } 52 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/cache_memory_store_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import ( 8 | "testing" 9 | 10 | "github.com/stretchr/testify/assert" 11 | ) 12 | 13 | func TestMemoryStore(t *testing.T) { 14 | store := NewMemoryStore() 15 | var kvs = map[string]interface{}{ 16 | "a": "b", 17 | } 18 | for k, v := range kvs { 19 | assert.NoError(t, store.Put(k, v)) 20 | } 21 | 22 | for k, v := range kvs { 23 | val, err := store.Get(k) 24 | assert.NoError(t, err) 25 | assert.EqualValues(t, v, val) 26 | } 27 | 28 | for k, _ := range kvs { 29 | err := store.Del(k) 30 | assert.NoError(t, err) 31 | } 32 | 33 | for k, _ := range kvs { 34 | _, err := store.Get(k) 35 | assert.EqualValues(t, ErrNotExist, err) 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/context.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.8 6 | 7 | package xorm 8 | 9 | import "context" 10 | 11 | // PingContext tests if database is alive 12 | func (engine *Engine) PingContext(ctx context.Context) error { 13 | session := engine.NewSession() 14 | defer session.Close() 15 | return session.PingContext(ctx) 16 | } 17 | 18 | // PingContext test if database is ok 19 | func (session *Session) PingContext(ctx context.Context) error { 20 | if session.isAutoClose { 21 | defer session.Close() 22 | } 23 | 24 | session.engine.logger.Infof("PING DATABASE %v", session.engine.DriverName()) 25 | return session.DB().PingContext(ctx) 26 | } 27 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/context_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.8 6 | 7 | package xorm 8 | 9 | import ( 10 | "testing" 11 | 12 | "github.com/stretchr/testify/assert" 13 | ) 14 | 15 | func TestPingContext(t *testing.T) { 16 | assert.NoError(t, prepareEngine()) 17 | 18 | // TODO: Since EngineInterface should be compitable with old Go version, PingContext is not supported. 19 | /* 20 | ctx, _ := context.WithTimeout(context.Background(), 10*time.Second) 21 | err := testEngine.PingContext(ctx) 22 | assert.NoError(t, err) 23 | */ 24 | } 25 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/docs/images/cache_design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/af913337456/XGoServer/562530268968e315d73af025087b75ecc11af03a/threeLibs/go-xorm/xorm/docs/images/cache_design.png -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/engine_maxlife.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.6 6 | 7 | package xorm 8 | 9 | import "time" 10 | 11 | // SetConnMaxLifetime sets the maximum amount of time a connection may be reused. 12 | func (engine *Engine) SetConnMaxLifetime(d time.Duration) { 13 | engine.db.SetConnMaxLifetime(d) 14 | } 15 | 16 | // SetConnMaxLifetime sets the maximum amount of time a connection may be reused. 17 | func (eg *EngineGroup) SetConnMaxLifetime(d time.Duration) { 18 | eg.Engine.SetConnMaxLifetime(d) 19 | for i := 0; i < len(eg.slaves); i++ { 20 | eg.slaves[i].SetConnMaxLifetime(d) 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/error.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import ( 8 | "errors" 9 | ) 10 | 11 | var ( 12 | // ErrParamsType params error 13 | ErrParamsType = errors.New("Params type error") 14 | // ErrTableNotFound table not found error 15 | ErrTableNotFound = errors.New("Not found table") 16 | // ErrUnSupportedType unsupported error 17 | ErrUnSupportedType = errors.New("Unsupported type error") 18 | // ErrNotExist record is not exist error 19 | ErrNotExist = errors.New("Not exist error") 20 | // ErrCacheFailed cache failed error 21 | ErrCacheFailed = errors.New("Cache failed") 22 | // ErrNeedDeletedCond delete needs less one condition error 23 | ErrNeedDeletedCond = errors.New("Delete need at least one condition") 24 | // ErrNotImplemented not implemented 25 | ErrNotImplemented = errors.New("Not implemented") 26 | // ErrConditionType condition type unsupported 27 | ErrConditionType = errors.New("Unsupported conditon type") 28 | ) 29 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/examples/README.md: -------------------------------------------------------------------------------- 1 | # Xorm Examples 2 | 3 | Notice: all the examples will ask you install extra package `github.com/mattn/go-sqlite3`, since it depends on cgo. You have to compile it after you install a c++ compile. Please see [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3). 4 | 5 | And then, you can run the examples via `go run xxx.go`. Every go file is a standalone example. 6 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/examples/derive.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/XGoServer/threeLibs/go-xorm/xorm" 8 | _ "github.com/mattn/go-sqlite3" 9 | ) 10 | 11 | // User describes a user 12 | type User struct { 13 | Id int64 14 | Name string 15 | } 16 | 17 | // LoginInfo describes a login information 18 | type LoginInfo struct { 19 | Id int64 20 | IP string 21 | UserId int64 22 | } 23 | 24 | // LoginInfo1 describes a login information 25 | type LoginInfo1 struct { 26 | LoginInfo `xorm:"extends"` 27 | UserName string 28 | } 29 | 30 | func main() { 31 | f := "derive.db" 32 | os.Remove(f) 33 | 34 | orm, err := xorm.NewEngine("sqlite3", f) 35 | if err != nil { 36 | fmt.Println(err) 37 | return 38 | } 39 | defer orm.Close() 40 | orm.ShowSQL(true) 41 | err = orm.CreateTables(&User{}, &LoginInfo{}) 42 | if err != nil { 43 | fmt.Println(err) 44 | return 45 | } 46 | 47 | _, err = orm.Insert(&User{1, "xlw"}, &LoginInfo{1, "127.0.0.1", 1}) 48 | if err != nil { 49 | fmt.Println(err) 50 | return 51 | } 52 | 53 | info := LoginInfo{} 54 | _, err = orm.ID(1).Get(&info) 55 | if err != nil { 56 | fmt.Println(err) 57 | return 58 | } 59 | fmt.Println(info) 60 | 61 | infos := make([]LoginInfo1, 0) 62 | err = orm.Sql(`select *, (select name from user where id = login_info.user_id) as user_name from 63 | login_info limit 10`).Find(&infos) 64 | if err != nil { 65 | fmt.Println(err) 66 | return 67 | } 68 | 69 | fmt.Println(infos) 70 | } 71 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/examples/find.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | "time" 7 | 8 | "github.com/XGoServer/threeLibs/go-xorm/xorm" 9 | ) 10 | 11 | // User describes a user 12 | type User struct { 13 | Id int64 14 | Name string 15 | Created time.Time `xorm:"created"` 16 | Updated time.Time `xorm:"updated"` 17 | } 18 | 19 | func main() { 20 | f := "conversion.db" 21 | os.Remove(f) 22 | 23 | orm, err := xorm.NewEngine("sqlite3", f) 24 | if err != nil { 25 | fmt.Println(err) 26 | return 27 | } 28 | orm.ShowSQL(true) 29 | 30 | err = orm.CreateTables(&User{}) 31 | if err != nil { 32 | fmt.Println(err) 33 | return 34 | } 35 | 36 | _, err = orm.Insert(&User{Id: 1, Name: "xlw"}) 37 | if err != nil { 38 | fmt.Println(err) 39 | return 40 | } 41 | 42 | users := make([]User, 0) 43 | err = orm.Find(&users) 44 | if err != nil { 45 | fmt.Println(err) 46 | return 47 | } 48 | 49 | fmt.Println(users) 50 | } 51 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/examples/singlemapping.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/XGoServer/threeLibs/go-xorm/xorm" 8 | _ "github.com/mattn/go-sqlite3" 9 | ) 10 | 11 | // User describes a user 12 | type User struct { 13 | Id int64 14 | Name string 15 | } 16 | 17 | // LoginInfo describes a login information 18 | type LoginInfo struct { 19 | Id int64 20 | IP string 21 | UserId int64 22 | // timestamp should be updated by database, so only allow get from db 23 | TimeStamp string `xorm:"<-"` 24 | // assume 25 | Nonuse int `xorm:"->"` 26 | } 27 | 28 | func main() { 29 | f := "singleMapping.db" 30 | os.Remove(f) 31 | 32 | orm, err := xorm.NewEngine("sqlite3", f) 33 | if err != nil { 34 | fmt.Println(err) 35 | return 36 | } 37 | orm.ShowSQL(true) 38 | err = orm.CreateTables(&User{}, &LoginInfo{}) 39 | if err != nil { 40 | fmt.Println(err) 41 | return 42 | } 43 | 44 | _, err = orm.Insert(&User{1, "xlw"}, &LoginInfo{1, "127.0.0.1", 1, "", 23}) 45 | if err != nil { 46 | fmt.Println(err) 47 | return 48 | } 49 | 50 | info := LoginInfo{} 51 | _, err = orm.ID(1).Get(&info) 52 | if err != nil { 53 | fmt.Println(err) 54 | return 55 | } 56 | fmt.Println(info) 57 | } 58 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/examples/tables.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/XGoServer/threeLibs/go-xorm/xorm" 8 | _ "github.com/mattn/go-sqlite3" 9 | ) 10 | 11 | func main() { 12 | if len(os.Args) < 2 { 13 | fmt.Println("need db path") 14 | return 15 | } 16 | 17 | orm, err := xorm.NewEngine("sqlite3", os.Args[1]) 18 | if err != nil { 19 | fmt.Println(err) 20 | return 21 | } 22 | defer orm.Close() 23 | orm.ShowSQL(true) 24 | 25 | tables, err := orm.DBMetas() 26 | if err != nil { 27 | fmt.Println(err) 28 | return 29 | } 30 | 31 | for _, table := range tables { 32 | fmt.Println(table.Name) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/gen_reserved.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | if [ -f $1 ];then 3 | cat $1| awk '{printf("\""$1"\":true,\n")}' 4 | else 5 | echo "argument $1 if not a file!" 6 | fi 7 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/helpers_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import "testing" 8 | 9 | func TestSplitTag(t *testing.T) { 10 | var cases = []struct { 11 | tag string 12 | tags []string 13 | }{ 14 | {"not null default '2000-01-01 00:00:00' TIMESTAMP", []string{"not", "null", "default", "'2000-01-01 00:00:00'", "TIMESTAMP"}}, 15 | {"TEXT", []string{"TEXT"}}, 16 | {"default('2000-01-01 00:00:00')", []string{"default('2000-01-01 00:00:00')"}}, 17 | {"json binary", []string{"json", "binary"}}, 18 | } 19 | 20 | for _, kase := range cases { 21 | tags := splitTag(kase.tag) 22 | if !sliceEq(tags, kase.tags) { 23 | t.Fatalf("[%d]%v is not equal [%d]%v", len(tags), tags, len(kase.tags), kase.tags) 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/helpler_time.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import "time" 8 | 9 | const ( 10 | zeroTime0 = "0000-00-00 00:00:00" 11 | zeroTime1 = "0001-01-01 00:00:00" 12 | ) 13 | 14 | func formatTime(t time.Time) string { 15 | return t.Format("2006-01-02 15:04:05") 16 | } 17 | 18 | func isTimeZero(t time.Time) bool { 19 | return t.IsZero() || formatTime(t) == zeroTime0 || 20 | formatTime(t) == zeroTime1 21 | } 22 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/rows_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import ( 8 | "testing" 9 | 10 | "github.com/stretchr/testify/assert" 11 | ) 12 | 13 | func TestRows(t *testing.T) { 14 | assert.NoError(t, prepareEngine()) 15 | 16 | type UserRows struct { 17 | Id int64 18 | IsMan bool 19 | } 20 | 21 | assert.NoError(t, testEngine.Sync2(new(UserRows))) 22 | 23 | cnt, err := testEngine.Insert(&UserRows{ 24 | IsMan: true, 25 | }) 26 | assert.NoError(t, err) 27 | assert.EqualValues(t, 1, cnt) 28 | 29 | rows, err := testEngine.Rows(new(UserRows)) 30 | assert.NoError(t, err) 31 | defer rows.Close() 32 | 33 | cnt = 0 34 | user := new(UserRows) 35 | for rows.Next() { 36 | err = rows.Scan(user) 37 | assert.NoError(t, err) 38 | cnt++ 39 | } 40 | assert.EqualValues(t, 1, cnt) 41 | 42 | sess := testEngine.NewSession() 43 | defer sess.Close() 44 | 45 | rows1, err := sess.Prepare().Rows(new(UserRows)) 46 | assert.NoError(t, err) 47 | defer rows1.Close() 48 | 49 | cnt = 0 50 | for rows1.Next() { 51 | err = rows1.Scan(user) 52 | assert.NoError(t, err) 53 | cnt++ 54 | } 55 | assert.EqualValues(t, 1, cnt) 56 | 57 | rows2, err := testEngine.SQL("SELECT * FROM user_rows").Rows(new(UserRows)) 58 | assert.NoError(t, err) 59 | defer rows2.Close() 60 | 61 | cnt = 0 62 | for rows2.Next() { 63 | err = rows2.Scan(user) 64 | assert.NoError(t, err) 65 | cnt++ 66 | } 67 | assert.EqualValues(t, 1, cnt) 68 | } 69 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/session_cols_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import ( 8 | "testing" 9 | 10 | "github.com/XGoServer/threeLibs/go-xorm/core" 11 | "github.com/stretchr/testify/assert" 12 | ) 13 | 14 | func TestSetExpr(t *testing.T) { 15 | assert.NoError(t, prepareEngine()) 16 | 17 | type UserExpr struct { 18 | Id int64 19 | Show bool 20 | } 21 | 22 | assert.NoError(t, testEngine.Sync2(new(UserExpr))) 23 | 24 | cnt, err := testEngine.Insert(&UserExpr{ 25 | Show: true, 26 | }) 27 | assert.NoError(t, err) 28 | assert.EqualValues(t, 1, cnt) 29 | 30 | var not = "NOT" 31 | if testEngine.Dialect().DBType() == core.MSSQL { 32 | not = "~" 33 | } 34 | cnt, err = testEngine.SetExpr("show", not+" `show`").ID(1).Update(new(UserExpr)) 35 | assert.NoError(t, err) 36 | assert.EqualValues(t, 1, cnt) 37 | } 38 | 39 | func TestCols(t *testing.T) { 40 | assert.NoError(t, prepareEngine()) 41 | 42 | type ColsTable struct { 43 | Id int64 44 | Col1 string 45 | Col2 string 46 | } 47 | 48 | assertSync(t, new(ColsTable)) 49 | 50 | _, err := testEngine.Insert(&ColsTable{ 51 | Col1: "1", 52 | Col2: "2", 53 | }) 54 | assert.NoError(t, err) 55 | 56 | sess := testEngine.ID(1) 57 | _, err = sess.Cols("col1").Cols("col2").Update(&ColsTable{ 58 | Col1: "", 59 | Col2: "", 60 | }) 61 | assert.NoError(t, err) 62 | 63 | var tb ColsTable 64 | has, err := testEngine.ID(1).Get(&tb) 65 | assert.NoError(t, err) 66 | assert.True(t, has) 67 | assert.EqualValues(t, "", tb.Col1) 68 | assert.EqualValues(t, "", tb.Col2) 69 | } 70 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/session_raw_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import ( 8 | "strconv" 9 | "testing" 10 | 11 | "github.com/stretchr/testify/assert" 12 | ) 13 | 14 | func TestQuery(t *testing.T) { 15 | assert.NoError(t, prepareEngine()) 16 | 17 | type UserinfoQuery struct { 18 | Uid int 19 | Name string 20 | } 21 | 22 | assert.NoError(t, testEngine.Sync2(new(UserinfoQuery))) 23 | 24 | res, err := testEngine.Exec("INSERT INTO `userinfo_query` (uid, name) VALUES (?, ?)", 1, "user") 25 | assert.NoError(t, err) 26 | cnt, err := res.RowsAffected() 27 | assert.NoError(t, err) 28 | assert.EqualValues(t, 1, cnt) 29 | 30 | results, err := testEngine.Query("select * from userinfo_query") 31 | assert.NoError(t, err) 32 | assert.EqualValues(t, 1, len(results)) 33 | id, err := strconv.Atoi(string(results[0]["uid"])) 34 | assert.NoError(t, err) 35 | assert.EqualValues(t, 1, id) 36 | assert.Equal(t, "user", string(results[0]["name"])) 37 | } 38 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/session_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import ( 8 | "testing" 9 | 10 | "github.com/stretchr/testify/assert" 11 | ) 12 | 13 | func TestClose(t *testing.T) { 14 | assert.NoError(t, prepareEngine()) 15 | 16 | sess1 := testEngine.NewSession() 17 | sess1.Close() 18 | assert.True(t, sess1.IsClosed()) 19 | 20 | sess2 := testEngine.Where("a = ?", 1) 21 | sess2.Close() 22 | assert.True(t, sess2.IsClosed()) 23 | } 24 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/tag_cache_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Xorm Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package xorm 6 | 7 | import ( 8 | "testing" 9 | 10 | "github.com/stretchr/testify/assert" 11 | ) 12 | 13 | func TestCacheTag(t *testing.T) { 14 | assert.NoError(t, prepareEngine()) 15 | 16 | type CacheDomain struct { 17 | Id int64 `xorm:"pk cache"` 18 | Name string 19 | } 20 | 21 | assert.NoError(t, testEngine.CreateTables(&CacheDomain{})) 22 | 23 | table := testEngine.TableInfo(&CacheDomain{}) 24 | assert.True(t, table.Cacher != nil) 25 | } 26 | 27 | func TestNoCacheTag(t *testing.T) { 28 | assert.NoError(t, prepareEngine()) 29 | 30 | type NoCacheDomain struct { 31 | Id int64 `xorm:"pk nocache"` 32 | Name string 33 | } 34 | 35 | assert.NoError(t, testEngine.CreateTables(&NoCacheDomain{})) 36 | 37 | table := testEngine.TableInfo(&NoCacheDomain{}) 38 | assert.True(t, table.Cacher == nil) 39 | } 40 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/test_mssql.sh: -------------------------------------------------------------------------------- 1 | go test -db=mssql -conn_str="server=192.168.1.58;user id=sa;password=123456;database=xorm_test" -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/test_mssql_cache.sh: -------------------------------------------------------------------------------- 1 | go test -db=mssql -conn_str="server=192.168.1.58;user id=sa;password=123456;database=xorm_test" -cache=true -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/test_mymysql.sh: -------------------------------------------------------------------------------- 1 | go test -db=mymysql -conn_str="xorm_test/root/" -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/test_mymysql_cache.sh: -------------------------------------------------------------------------------- 1 | go test -db=mymysql -conn_str="xorm_test/root/" -cache=true -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/test_mysql.sh: -------------------------------------------------------------------------------- 1 | go test -db=mysql -conn_str="root:@/xorm_test" -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/test_mysql_cache.sh: -------------------------------------------------------------------------------- 1 | go test -db=mysql -conn_str="root:@/xorm_test" -cache=true -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/test_postgres.sh: -------------------------------------------------------------------------------- 1 | go test -db=postgres -conn_str="dbname=xorm_test sslmode=disable" -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/test_postgres_cache.sh: -------------------------------------------------------------------------------- 1 | go test -db=postgres -conn_str="dbname=xorm_test sslmode=disable" -cache=true -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/test_sqlite.sh: -------------------------------------------------------------------------------- 1 | go test -db=sqlite3 -conn_str="./test.db?cache=shared&mode=rwc" -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/test_sqlite_cache.sh: -------------------------------------------------------------------------------- 1 | go test -db=sqlite3 -conn_str="./test.db?cache=shared&mode=rwc" -cache=true -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/types.go: -------------------------------------------------------------------------------- 1 | package xorm 2 | 3 | import ( 4 | "reflect" 5 | 6 | "github.com/XGoServer/threeLibs/go-xorm/core" 7 | ) 8 | 9 | var ( 10 | ptrPkType = reflect.TypeOf(&core.PK{}) 11 | pkType = reflect.TypeOf(core.PK{}) 12 | ) 13 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/davecgh/go-spew/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2013 Dave Collins 2 | 3 | Permission to use, copy, modify, and distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/davecgh/go-spew/spew/dumpnocgo_test.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2013 Dave Collins 2 | // 3 | // Permission to use, copy, modify, and distribute this software for any 4 | // purpose with or without fee is hereby granted, provided that the above 5 | // copyright notice and this permission notice appear in all copies. 6 | // 7 | // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | 15 | // NOTE: Due to the following build constraints, this file will only be compiled 16 | // when either cgo is not supported or "-tags testcgo" is not added to the go 17 | // test command line. This file intentionally does not setup any cgo tests in 18 | // this scenario. 19 | // +build !cgo !testcgo 20 | 21 | package spew_test 22 | 23 | func addCgoDumpTests() { 24 | // Don't add any tests for cgo since this file is only compiled when 25 | // there should not be any cgo tests. 26 | } 27 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/go-sql-driver/mysql/errors.go: -------------------------------------------------------------------------------- 1 | // Go MySQL Driver - A MySQL-Driver for Go's database/sql package 2 | // 3 | // Copyright 2013 Julien Schmidt. All rights reserved. 4 | // http://www.julienschmidt.com 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla Public 7 | // License, v. 2.0. If a copy of the MPL was not distributed with this file, 8 | // You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | package mysql 11 | 12 | import "errors" 13 | 14 | var ( 15 | errMalformPkt = errors.New("Malformed Packet") 16 | errPktSync = errors.New("Commands out of sync. You can't run this command now") 17 | errPktSyncMul = errors.New("Commands out of sync. Did you run multiple statements at once?") 18 | errOldPassword = errors.New("It seems like you are using old_passwords, which is unsupported. See https://github.com/go-sql-driver/mysql/wiki/old_passwords") 19 | errPktTooLarge = errors.New("Packet for query is too large. You can change this value on the server by adjusting the 'max_allowed_packet' variable.") 20 | ) 21 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/go-sql-driver/mysql/result.go: -------------------------------------------------------------------------------- 1 | // Go MySQL Driver - A MySQL-Driver for Go's database/sql package 2 | // 3 | // Copyright 2012 Julien Schmidt. All rights reserved. 4 | // http://www.julienschmidt.com 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla Public 7 | // License, v. 2.0. If a copy of the MPL was not distributed with this file, 8 | // You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | package mysql 11 | 12 | type mysqlResult struct { 13 | affectedRows int64 14 | insertId int64 15 | } 16 | 17 | func (res *mysqlResult) LastInsertId() (int64, error) { 18 | return res.insertId, nil 19 | } 20 | 21 | func (res *mysqlResult) RowsAffected() (int64, error) { 22 | return res.affectedRows, nil 23 | } 24 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/go-sql-driver/mysql/rows.go: -------------------------------------------------------------------------------- 1 | // Go MySQL Driver - A MySQL-Driver for Go's database/sql package 2 | // 3 | // Copyright 2012 Julien Schmidt. All rights reserved. 4 | // http://www.julienschmidt.com 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla Public 7 | // License, v. 2.0. If a copy of the MPL was not distributed with this file, 8 | // You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | package mysql 11 | 12 | import ( 13 | "database/sql/driver" 14 | "errors" 15 | "io" 16 | ) 17 | 18 | type mysqlField struct { 19 | name string 20 | fieldType byte 21 | flags fieldFlag 22 | } 23 | 24 | type mysqlRows struct { 25 | mc *mysqlConn 26 | binary bool 27 | columns []mysqlField 28 | eof bool 29 | } 30 | 31 | func (rows *mysqlRows) Columns() (columns []string) { 32 | columns = make([]string, len(rows.columns)) 33 | for i := range columns { 34 | columns[i] = rows.columns[i].name 35 | } 36 | return 37 | } 38 | 39 | func (rows *mysqlRows) Close() (err error) { 40 | defer func() { 41 | rows.mc = nil 42 | }() 43 | 44 | // Remove unread packets from stream 45 | if !rows.eof { 46 | if rows.mc == nil { 47 | return errors.New("Invalid Connection") 48 | } 49 | 50 | err = rows.mc.readUntilEOF() 51 | } 52 | 53 | return 54 | } 55 | 56 | func (rows *mysqlRows) Next(dest []driver.Value) error { 57 | if rows.eof { 58 | return io.EOF 59 | } 60 | 61 | if rows.mc == nil { 62 | return errors.New("Invalid Connection") 63 | } 64 | 65 | // Fetch next row from stream 66 | var err error 67 | if rows.binary { 68 | err = rows.readBinaryRow(dest) 69 | } else { 70 | err = rows.readRow(dest) 71 | } 72 | 73 | if err == io.EOF { 74 | rows.eof = true 75 | } 76 | return err 77 | } 78 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/go-sql-driver/mysql/transaction.go: -------------------------------------------------------------------------------- 1 | // Go MySQL Driver - A MySQL-Driver for Go's database/sql package 2 | // 3 | // Copyright 2012 Julien Schmidt. All rights reserved. 4 | // http://www.julienschmidt.com 5 | // 6 | // This Source Code Form is subject to the terms of the Mozilla Public 7 | // License, v. 2.0. If a copy of the MPL was not distributed with this file, 8 | // You can obtain one at http://mozilla.org/MPL/2.0/. 9 | 10 | package mysql 11 | 12 | type mysqlTx struct { 13 | mc *mysqlConn 14 | } 15 | 16 | func (tx *mysqlTx) Commit() (err error) { 17 | err = tx.mc.exec("COMMIT") 18 | tx.mc = nil 19 | return 20 | } 21 | 22 | func (tx *mysqlTx) Rollback() (err error) { 23 | err = tx.mc.exec("ROLLBACK") 24 | tx.mc = nil 25 | return 26 | } 27 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/lib/pq/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing to pq 2 | 3 | `pq` has a backlog of pull requests, but contributions are still very 4 | much welcome. You can help with patch review, submitting bug reports, 5 | or adding new functionality. There is no formal style guide, but 6 | please conform to the style of existing code and general Go formatting 7 | conventions when submitting patches. 8 | 9 | ### Patch review 10 | 11 | Help review existing open pull requests by commenting on the code or 12 | proposed functionality. 13 | 14 | ### Bug reports 15 | 16 | We appreciate any bug reports, but especially ones with self-contained 17 | (doesn't depend on code outside of pq), minimal (can't be simplified 18 | further) test cases. It's especially helpful if you can submit a pull 19 | request with just the failing test case (you'll probably want to 20 | pattern it after the tests in 21 | [conn_test.go](https://github.com/lib/pq/blob/master/conn_test.go). 22 | 23 | ### New functionality 24 | 25 | There are a number of pending patches for new functionality, so 26 | additional feature patches will take a while to merge. Still, patches 27 | are generally reviewed based on usefulness and complexity in addition 28 | to time-in-queue, so if you have a knockout idea, take a shot. Feel 29 | free to open an issue discussion your proposed patch beforehand. 30 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/lib/pq/LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011-2013, 'pq' Contributors 2 | Portions Copyright (C) 2011 Blake Mizerany 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 5 | 6 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 7 | 8 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 9 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/lib/pq/go18_test.go: -------------------------------------------------------------------------------- 1 | // +build go1.8 2 | 3 | package pq 4 | 5 | import "testing" 6 | 7 | func TestMultipleSimpleQuery(t *testing.T) { 8 | db := openTestConn(t) 9 | defer db.Close() 10 | 11 | rows, err := db.Query("select 1; set time zone default; select 2; select 3") 12 | if err != nil { 13 | t.Fatal(err) 14 | } 15 | defer rows.Close() 16 | 17 | var i int 18 | for rows.Next() { 19 | if err := rows.Scan(&i); err != nil { 20 | t.Fatal(err) 21 | } 22 | if i != 1 { 23 | t.Fatalf("expected 1, got %d", i) 24 | } 25 | } 26 | if !rows.NextResultSet() { 27 | t.Fatal("expected more result sets", rows.Err()) 28 | } 29 | for rows.Next() { 30 | if err := rows.Scan(&i); err != nil { 31 | t.Fatal(err) 32 | } 33 | if i != 2 { 34 | t.Fatalf("expected 2, got %d", i) 35 | } 36 | } 37 | 38 | // Make sure that if we ignore a result we can still query. 39 | 40 | rows, err = db.Query("select 4; select 5") 41 | if err != nil { 42 | t.Fatal(err) 43 | } 44 | defer rows.Close() 45 | 46 | for rows.Next() { 47 | if err := rows.Scan(&i); err != nil { 48 | t.Fatal(err) 49 | } 50 | if i != 4 { 51 | t.Fatalf("expected 4, got %d", i) 52 | } 53 | } 54 | if !rows.NextResultSet() { 55 | t.Fatal("expected more result sets", rows.Err()) 56 | } 57 | for rows.Next() { 58 | if err := rows.Scan(&i); err != nil { 59 | t.Fatal(err) 60 | } 61 | if i != 5 { 62 | t.Fatalf("expected 5, got %d", i) 63 | } 64 | } 65 | if rows.NextResultSet() { 66 | t.Fatal("unexpected result set") 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/lib/pq/issues_test.go: -------------------------------------------------------------------------------- 1 | package pq 2 | 3 | import "testing" 4 | 5 | func TestIssue494(t *testing.T) { 6 | db := openTestConn(t) 7 | defer db.Close() 8 | 9 | query := `CREATE TEMP TABLE t (i INT PRIMARY KEY)` 10 | if _, err := db.Exec(query); err != nil { 11 | t.Fatal(err) 12 | } 13 | 14 | txn, err := db.Begin() 15 | if err != nil { 16 | t.Fatal(err) 17 | } 18 | 19 | if _, err := txn.Prepare(CopyIn("t", "i")); err != nil { 20 | t.Fatal(err) 21 | } 22 | 23 | if _, err := txn.Query("SELECT 1"); err == nil { 24 | t.Fatal("expected error") 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/lib/pq/oid/doc.go: -------------------------------------------------------------------------------- 1 | // Package oid contains OID constants 2 | // as defined by the Postgres server. 3 | package oid 4 | 5 | // Oid is a Postgres Object ID. 6 | type Oid uint32 7 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/lib/pq/oid/gen.go: -------------------------------------------------------------------------------- 1 | // +build ignore 2 | 3 | // Generate the table of OID values 4 | // Run with 'go run gen.go'. 5 | package main 6 | 7 | import ( 8 | "database/sql" 9 | "fmt" 10 | "log" 11 | "os" 12 | "os/exec" 13 | 14 | _ "github.com/lib/pq" 15 | ) 16 | 17 | func main() { 18 | datname := os.Getenv("PGDATABASE") 19 | sslmode := os.Getenv("PGSSLMODE") 20 | 21 | if datname == "" { 22 | os.Setenv("PGDATABASE", "pqgotest") 23 | } 24 | 25 | if sslmode == "" { 26 | os.Setenv("PGSSLMODE", "disable") 27 | } 28 | 29 | db, err := sql.Open("postgres", "") 30 | if err != nil { 31 | log.Fatal(err) 32 | } 33 | cmd := exec.Command("gofmt") 34 | cmd.Stderr = os.Stderr 35 | w, err := cmd.StdinPipe() 36 | if err != nil { 37 | log.Fatal(err) 38 | } 39 | f, err := os.Create("types.go") 40 | if err != nil { 41 | log.Fatal(err) 42 | } 43 | cmd.Stdout = f 44 | err = cmd.Start() 45 | if err != nil { 46 | log.Fatal(err) 47 | } 48 | fmt.Fprintln(w, "// generated by 'go run gen.go'; do not edit") 49 | fmt.Fprintln(w, "\npackage oid") 50 | fmt.Fprintln(w, "const (") 51 | rows, err := db.Query(` 52 | SELECT typname, oid 53 | FROM pg_type WHERE oid < 10000 54 | ORDER BY oid; 55 | `) 56 | if err != nil { 57 | log.Fatal(err) 58 | } 59 | var name string 60 | var oid int 61 | for rows.Next() { 62 | err = rows.Scan(&name, &oid) 63 | if err != nil { 64 | log.Fatal(err) 65 | } 66 | fmt.Fprintf(w, "T_%s Oid = %d\n", name, oid) 67 | } 68 | if err = rows.Err(); err != nil { 69 | log.Fatal(err) 70 | } 71 | fmt.Fprintln(w, ")") 72 | w.Close() 73 | cmd.Wait() 74 | } 75 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/lib/pq/user_posix.go: -------------------------------------------------------------------------------- 1 | // Package pq is a pure Go Postgres driver for the database/sql package. 2 | 3 | // +build darwin dragonfly freebsd linux nacl netbsd openbsd solaris rumprun 4 | 5 | package pq 6 | 7 | import ( 8 | "os" 9 | "os/user" 10 | ) 11 | 12 | func userCurrent() (string, error) { 13 | u, err := user.Current() 14 | if err == nil { 15 | return u.Username, nil 16 | } 17 | 18 | name := os.Getenv("USER") 19 | if name != "" { 20 | return name, nil 21 | } 22 | 23 | return "", ErrCouldNotDetectUsername 24 | } 25 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/lib/pq/user_windows.go: -------------------------------------------------------------------------------- 1 | // Package pq is a pure Go Postgres driver for the database/sql package. 2 | package pq 3 | 4 | import ( 5 | "path/filepath" 6 | "syscall" 7 | ) 8 | 9 | // Perform Windows user name lookup identically to libpq. 10 | // 11 | // The PostgreSQL code makes use of the legacy Win32 function 12 | // GetUserName, and that function has not been imported into stock Go. 13 | // GetUserNameEx is available though, the difference being that a 14 | // wider range of names are available. To get the output to be the 15 | // same as GetUserName, only the base (or last) component of the 16 | // result is returned. 17 | func userCurrent() (string, error) { 18 | pw_name := make([]uint16, 128) 19 | pwname_size := uint32(len(pw_name)) - 1 20 | err := syscall.GetUserNameEx(syscall.NameSamCompatible, &pw_name[0], &pwname_size) 21 | if err != nil { 22 | return "", ErrCouldNotDetectUsername 23 | } 24 | s := syscall.UTF16ToString(pw_name) 25 | u := filepath.Base(s) 26 | return u, nil 27 | } 28 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/pmezard/go-difflib/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013, Patrick Mezard 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are 6 | met: 7 | 8 | Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in the 12 | documentation and/or other materials provided with the distribution. 13 | The names of its contributors may not be used to endorse or promote 14 | products derived from this software without specific prior written 15 | permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 18 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 19 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 20 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 23 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 24 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 25 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 26 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 27 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/github.com/stretchr/testify/assert/errors.go: -------------------------------------------------------------------------------- 1 | package assert 2 | 3 | import ( 4 | "errors" 5 | ) 6 | 7 | // AnError is an error instance useful for testing. If the code does not care 8 | // about error specifics, and only needs to return the error for example, this 9 | // error should be used to make the test code more readable. 10 | var AnError = errors.New("assert.AnError general error for testing") 11 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/gopkg.in/stretchr/testify.v1/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 - 2013 Mat Ryer and Tyler Bunnell 2 | 3 | Please consider promoting this project if you find it useful. 4 | 5 | Permission is hereby granted, free of charge, to any person 6 | obtaining a copy of this software and associated documentation 7 | files (the "Software"), to deal in the Software without restriction, 8 | including without limitation the rights to use, copy, modify, merge, 9 | publish, distribute, sublicense, and/or sell copies of the Software, 10 | and to permit persons to whom the Software is furnished to do so, 11 | subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included 14 | in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 18 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 20 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT 21 | OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE 22 | OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/gopkg.in/stretchr/testify.v1/assert/assertion_forward.go.tmpl: -------------------------------------------------------------------------------- 1 | {{.CommentWithoutT "a"}} 2 | func (a *Assertions) {{.DocInfo.Name}}({{.Params}}) bool { 3 | return {{.DocInfo.Name}}(a.t, {{.ForwardedParams}}) 4 | } 5 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/gopkg.in/stretchr/testify.v1/assert/doc.go: -------------------------------------------------------------------------------- 1 | // Package assert provides a set of comprehensive testing tools for use with the normal Go testing system. 2 | // 3 | // Example Usage 4 | // 5 | // The following is a complete example using assert in a standard test function: 6 | // import ( 7 | // "testing" 8 | // "github.com/stretchr/testify/assert" 9 | // ) 10 | // 11 | // func TestSomething(t *testing.T) { 12 | // 13 | // var a string = "Hello" 14 | // var b string = "Hello" 15 | // 16 | // assert.Equal(t, a, b, "The two words should be the same.") 17 | // 18 | // } 19 | // 20 | // if you assert many times, use the format below: 21 | // 22 | // import ( 23 | // "testing" 24 | // "github.com/stretchr/testify/assert" 25 | // ) 26 | // 27 | // func TestSomething(t *testing.T) { 28 | // assert := assert.New(t) 29 | // 30 | // var a string = "Hello" 31 | // var b string = "Hello" 32 | // 33 | // assert.Equal(a, b, "The two words should be the same.") 34 | // } 35 | // 36 | // Assertions 37 | // 38 | // Assertions allow you to easily write test code, and are global funcs in the `assert` package. 39 | // All assertion functions take, as the first argument, the `*testing.T` object provided by the 40 | // testing framework. This allows the assertion funcs to write the failings and other details to 41 | // the correct place. 42 | // 43 | // Every assertion function also takes an optional string message as the final argument, 44 | // allowing custom error messages to be appended to the message the assertion method outputs. 45 | package assert 46 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/gopkg.in/stretchr/testify.v1/assert/errors.go: -------------------------------------------------------------------------------- 1 | package assert 2 | 3 | import ( 4 | "errors" 5 | ) 6 | 7 | // AnError is an error instance useful for testing. If the code does not care 8 | // about error specifics, and only needs to return the error for example, this 9 | // error should be used to make the test code more readable. 10 | var AnError = errors.New("assert.AnError general error for testing") 11 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/gopkg.in/stretchr/testify.v1/assert/forward_assertions.go: -------------------------------------------------------------------------------- 1 | package assert 2 | 3 | // Assertions provides assertion methods around the 4 | // TestingT interface. 5 | type Assertions struct { 6 | t TestingT 7 | } 8 | 9 | // New makes a new Assertions object for the specified TestingT. 10 | func New(t TestingT) *Assertions { 11 | return &Assertions{ 12 | t: t, 13 | } 14 | } 15 | 16 | //go:generate go run ../_codegen/main.go -output-package=assert -template=assertion_forward.go.tmpl 17 | -------------------------------------------------------------------------------- /threeLibs/go-xorm/xorm/vendor/vendor.json: -------------------------------------------------------------------------------- 1 | { 2 | "comment": "", 3 | "ignore": "", 4 | "package": [ 5 | { 6 | "checksumSHA1": "+YmsDyzVqGjfd5QPbMpicMJap3k=", 7 | "path": "github.com/davecgh/go-spew/spew", 8 | "revision": "3fdaf5cea8d23107b993d363e98992fa529dd713", 9 | "revisionTime": "2014-05-06T03:09:56Z" 10 | }, 11 | { 12 | "checksumSHA1": "mNDFXR7POWoldvDoOxkgrI3Q9l8=", 13 | "path": "github.com/go-sql-driver/mysql", 14 | "revision": "0e8690a9f2dd2751f86ab1036f1c5705beb0916a", 15 | "revisionTime": "2013-03-24T15:51:38Z" 16 | }, 17 | { 18 | "checksumSHA1": "nQ1LgGMfbEff5JsbR80oPpyOAGY=", 19 | "path": "github.com/lib/pq", 20 | "revision": "d8eeeb8bae8896dd8e1b7e514ab0d396c4f12a1b", 21 | "revisionTime": "2016-11-03T02:43:54Z" 22 | }, 23 | { 24 | "checksumSHA1": "xppHi82MLqVx1eyQmbhTesAEjx8=", 25 | "path": "github.com/lib/pq/oid", 26 | "revision": "d8eeeb8bae8896dd8e1b7e514ab0d396c4f12a1b", 27 | "revisionTime": "2016-11-03T02:43:54Z" 28 | }, 29 | { 30 | "checksumSHA1": "RZOdTSZN/PgcTqko5LzIAzw+UT4=", 31 | "path": "github.com/pmezard/go-difflib/difflib", 32 | "revision": "792786c7400a136282c1664665ae0a8db921c6c2", 33 | "revisionTime": "2016-01-10T10:55:54Z" 34 | }, 35 | { 36 | "checksumSHA1": "0Eq6gYBaj7guomcPvbH9WUyGcxo=", 37 | "path": "github.com/stretchr/testify/assert", 38 | "revision": "089c7181b8c728499929ff09b62d3fdd8df8adff", 39 | "revisionTime": "2015-06-20T23:27:11Z" 40 | }, 41 | { 42 | "checksumSHA1": "FsrA7Mj/Dpk5S35d07vE9ojRvdU=", 43 | "path": "gopkg.in/stretchr/testify.v1/assert", 44 | "revision": "69483b4bd14f5845b5a1e55bca19e954e827f1d0", 45 | "revisionTime": "2016-09-25T01:54:16Z" 46 | } 47 | ], 48 | "rootPath": "github.com/go-xorm/xorm" 49 | } 50 | -------------------------------------------------------------------------------- /threeLibs/gorilla/context/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | 4 | matrix: 5 | include: 6 | - go: 1.3 7 | - go: 1.4 8 | - go: 1.5 9 | - go: 1.6 10 | - go: 1.7 11 | - go: tip 12 | allow_failures: 13 | - go: tip 14 | 15 | script: 16 | - go get -t -v ./... 17 | - diff -u <(echo -n) <(gofmt -d .) 18 | - go vet $(go list ./... | grep -v /vendor/) 19 | - go test -v -race ./... 20 | -------------------------------------------------------------------------------- /threeLibs/gorilla/context/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Rodrigo Moraes. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /threeLibs/gorilla/context/README.md: -------------------------------------------------------------------------------- 1 | context 2 | ======= 3 | [![Build Status](https://travis-ci.org/gorilla/context.png?branch=master)](https://travis-ci.org/gorilla/context) 4 | 5 | gorilla/context is a general purpose registry for global request variables. 6 | 7 | > Note: gorilla/context, having been born well before `context.Context` existed, does not play well 8 | > with the shallow copying of the request that [`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) (added to net/http Go 1.7 onwards) performs. You should either use *just* gorilla/context, or moving forward, the new `http.Request.Context()`. 9 | 10 | Read the full documentation here: http://www.gorillatoolkit.org/pkg/context 11 | -------------------------------------------------------------------------------- /threeLibs/gorilla/handlers/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | 4 | matrix: 5 | include: 6 | - go: 1.4 7 | - go: 1.5 8 | - go: 1.6 9 | - go: 1.7 10 | - go: 1.8 11 | - go: tip 12 | allow_failures: 13 | - go: tip 14 | 15 | script: 16 | - go get -t -v ./... 17 | - diff -u <(echo -n) <(gofmt -d .) 18 | - go vet $(go list ./... | grep -v /vendor/) 19 | - go test -v -race ./... 20 | 21 | -------------------------------------------------------------------------------- /threeLibs/gorilla/handlers/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013 The Gorilla Handlers Authors. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are met: 5 | 6 | Redistributions of source code must retain the above copyright notice, this 7 | list of conditions and the following disclaimer. 8 | 9 | Redistributions in binary form must reproduce the above copyright notice, 10 | this list of conditions and the following disclaimer in the documentation 11 | and/or other materials provided with the distribution. 12 | 13 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 14 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 15 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 16 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 17 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 19 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 20 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 21 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 22 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 | -------------------------------------------------------------------------------- /threeLibs/gorilla/handlers/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package handlers is a collection of handlers (aka "HTTP middleware") for use 3 | with Go's net/http package (or any framework supporting http.Handler). 4 | 5 | The package includes handlers for logging in standardised formats, compressing 6 | HTTP responses, validating content types and other useful tools for manipulating 7 | requests and responses. 8 | */ 9 | package handlers 10 | -------------------------------------------------------------------------------- /threeLibs/gorilla/handlers/handlers_go18.go: -------------------------------------------------------------------------------- 1 | // +build go1.8 2 | 3 | package handlers 4 | 5 | import ( 6 | "fmt" 7 | "net/http" 8 | ) 9 | 10 | type loggingResponseWriter interface { 11 | commonLoggingResponseWriter 12 | http.Pusher 13 | } 14 | 15 | func (l *responseLogger) Push(target string, opts *http.PushOptions) error { 16 | p, ok := l.w.(http.Pusher) 17 | if !ok { 18 | return fmt.Errorf("responseLogger does not implement http.Pusher") 19 | } 20 | return p.Push(target, opts) 21 | } 22 | -------------------------------------------------------------------------------- /threeLibs/gorilla/handlers/handlers_go18_test.go: -------------------------------------------------------------------------------- 1 | // +build go1.8 2 | 3 | package handlers 4 | 5 | import ( 6 | "io/ioutil" 7 | "net/http" 8 | "net/http/httptest" 9 | "testing" 10 | ) 11 | 12 | func TestLoggingHandlerWithPush(t *testing.T) { 13 | handler := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { 14 | if _, ok := w.(http.Pusher); !ok { 15 | t.Fatalf("%T from LoggingHandler does not satisfy http.Pusher interface when built with Go >=1.8", w) 16 | } 17 | w.WriteHeader(200) 18 | }) 19 | 20 | logger := LoggingHandler(ioutil.Discard, handler) 21 | logger.ServeHTTP(httptest.NewRecorder(), newRequest("GET", "/")) 22 | } 23 | 24 | func TestCombinedLoggingHandlerWithPush(t *testing.T) { 25 | handler := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { 26 | if _, ok := w.(http.Pusher); !ok { 27 | t.Fatalf("%T from CombinedLoggingHandler does not satisfy http.Pusher interface when built with Go >=1.8", w) 28 | } 29 | w.WriteHeader(200) 30 | }) 31 | 32 | logger := CombinedLoggingHandler(ioutil.Discard, handler) 33 | logger.ServeHTTP(httptest.NewRecorder(), newRequest("GET", "/")) 34 | } 35 | -------------------------------------------------------------------------------- /threeLibs/gorilla/handlers/handlers_pre18.go: -------------------------------------------------------------------------------- 1 | // +build !go1.8 2 | 3 | package handlers 4 | 5 | type loggingResponseWriter interface { 6 | commonLoggingResponseWriter 7 | } 8 | -------------------------------------------------------------------------------- /threeLibs/gorilla/handlers/recovery_test.go: -------------------------------------------------------------------------------- 1 | package handlers 2 | 3 | import ( 4 | "bytes" 5 | "log" 6 | "net/http" 7 | "net/http/httptest" 8 | "strings" 9 | "testing" 10 | ) 11 | 12 | func TestRecoveryLoggerWithDefaultOptions(t *testing.T) { 13 | var buf bytes.Buffer 14 | log.SetOutput(&buf) 15 | 16 | handler := RecoveryHandler() 17 | handlerFunc := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { 18 | panic("Unexpected error!") 19 | }) 20 | 21 | recovery := handler(handlerFunc) 22 | recovery.ServeHTTP(httptest.NewRecorder(), newRequest("GET", "/subdir/asdf")) 23 | 24 | if !strings.Contains(buf.String(), "Unexpected error!") { 25 | t.Fatalf("Got log %#v, wanted substring %#v", buf.String(), "Unexpected error!") 26 | } 27 | } 28 | 29 | func TestRecoveryLoggerWithCustomLogger(t *testing.T) { 30 | var buf bytes.Buffer 31 | var logger = log.New(&buf, "", log.LstdFlags) 32 | 33 | handler := RecoveryHandler(RecoveryLogger(logger), PrintRecoveryStack(false)) 34 | handlerFunc := http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { 35 | panic("Unexpected error!") 36 | }) 37 | 38 | recovery := handler(handlerFunc) 39 | recovery.ServeHTTP(httptest.NewRecorder(), newRequest("GET", "/subdir/asdf")) 40 | 41 | if !strings.Contains(buf.String(), "Unexpected error!") { 42 | t.Fatalf("Got log %#v, wanted substring %#v", buf.String(), "Unexpected error!") 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /threeLibs/gorilla/mux/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | 4 | matrix: 5 | include: 6 | - go: 1.2 7 | - go: 1.3 8 | - go: 1.4 9 | - go: 1.5 10 | - go: 1.6 11 | - go: 1.7 12 | - go: tip 13 | 14 | install: 15 | - # Skip 16 | 17 | script: 18 | - go get -t -v ./... 19 | - diff -u <(echo -n) <(gofmt -d .) 20 | - go tool vet . 21 | - go test -v -race ./... 22 | -------------------------------------------------------------------------------- /threeLibs/gorilla/mux/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Rodrigo Moraes. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /threeLibs/gorilla/mux/bench_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Gorilla Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package mux 6 | 7 | import ( 8 | "net/http" 9 | "net/http/httptest" 10 | "testing" 11 | ) 12 | 13 | func BenchmarkMux(b *testing.B) { 14 | router := new(Router) 15 | handler := func(w http.ResponseWriter, r *http.Request) {} 16 | router.HandleFunc("/v1/{v1}", handler) 17 | 18 | request, _ := http.NewRequest("GET", "/v1/anything", nil) 19 | for i := 0; i < b.N; i++ { 20 | router.ServeHTTP(nil, request) 21 | } 22 | } 23 | 24 | func BenchmarkMuxAlternativeInRegexp(b *testing.B) { 25 | router := new(Router) 26 | handler := func(w http.ResponseWriter, r *http.Request) {} 27 | router.HandleFunc("/v1/{v1:(a|b)}", handler) 28 | 29 | requestA, _ := http.NewRequest("GET", "/v1/a", nil) 30 | requestB, _ := http.NewRequest("GET", "/v1/b", nil) 31 | for i := 0; i < b.N; i++ { 32 | router.ServeHTTP(nil, requestA) 33 | router.ServeHTTP(nil, requestB) 34 | } 35 | } 36 | 37 | func BenchmarkManyPathVariables(b *testing.B) { 38 | router := new(Router) 39 | handler := func(w http.ResponseWriter, r *http.Request) {} 40 | router.HandleFunc("/v1/{v1}/{v2}/{v3}/{v4}/{v5}", handler) 41 | 42 | matchingRequest, _ := http.NewRequest("GET", "/v1/1/2/3/4/5", nil) 43 | notMatchingRequest, _ := http.NewRequest("GET", "/v1/1/2/3/4", nil) 44 | recorder := httptest.NewRecorder() 45 | for i := 0; i < b.N; i++ { 46 | router.ServeHTTP(nil, matchingRequest) 47 | router.ServeHTTP(recorder, notMatchingRequest) 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /threeLibs/gorilla/mux/context_gorilla.go: -------------------------------------------------------------------------------- 1 | // +build !go1.7 2 | 3 | package mux 4 | 5 | import ( 6 | "net/http" 7 | 8 | "github.com/XGoServer/threeLibs/gorilla/context" 9 | ) 10 | 11 | func contextGet(r *http.Request, key interface{}) interface{} { 12 | return context.Get(r, key) 13 | } 14 | 15 | func contextSet(r *http.Request, key, val interface{}) *http.Request { 16 | if val == nil { 17 | return r 18 | } 19 | 20 | context.Set(r, key, val) 21 | return r 22 | } 23 | 24 | func contextClear(r *http.Request) { 25 | context.Clear(r) 26 | } 27 | -------------------------------------------------------------------------------- /threeLibs/gorilla/mux/context_gorilla_test.go: -------------------------------------------------------------------------------- 1 | // +build !go1.7 2 | 3 | package mux 4 | 5 | import ( 6 | "net/http" 7 | "testing" 8 | 9 | "github.com/XGoServer/threeLibs/gorilla/context" 10 | ) 11 | 12 | // Tests that the context is cleared or not cleared properly depending on 13 | // the configuration of the router 14 | func TestKeepContext(t *testing.T) { 15 | func1 := func(w http.ResponseWriter, r *http.Request) {} 16 | 17 | r := NewRouter() 18 | r.HandleFunc("/", func1).Name("func1") 19 | 20 | req, _ := http.NewRequest("GET", "http://localhost/", nil) 21 | context.Set(req, "t", 1) 22 | 23 | res := new(http.ResponseWriter) 24 | r.ServeHTTP(*res, req) 25 | 26 | if _, ok := context.GetOk(req, "t"); ok { 27 | t.Error("Context should have been cleared at end of request") 28 | } 29 | 30 | r.KeepContext = true 31 | 32 | req, _ = http.NewRequest("GET", "http://localhost/", nil) 33 | context.Set(req, "t", 1) 34 | 35 | r.ServeHTTP(*res, req) 36 | if _, ok := context.GetOk(req, "t"); !ok { 37 | t.Error("Context should NOT have been cleared at end of request") 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /threeLibs/gorilla/mux/context_native.go: -------------------------------------------------------------------------------- 1 | // +build go1.7 2 | 3 | package mux 4 | 5 | import ( 6 | "context" 7 | "net/http" 8 | ) 9 | 10 | func contextGet(r *http.Request, key interface{}) interface{} { 11 | return r.Context().Value(key) 12 | } 13 | 14 | func contextSet(r *http.Request, key, val interface{}) *http.Request { 15 | if val == nil { 16 | return r 17 | } 18 | 19 | return r.WithContext(context.WithValue(r.Context(), key, val)) 20 | } 21 | 22 | func contextClear(r *http.Request) { 23 | return 24 | } 25 | -------------------------------------------------------------------------------- /threeLibs/gorilla/mux/context_native_test.go: -------------------------------------------------------------------------------- 1 | // +build go1.7 2 | 3 | package mux 4 | 5 | import ( 6 | "context" 7 | "net/http" 8 | "testing" 9 | "time" 10 | ) 11 | 12 | func TestNativeContextMiddleware(t *testing.T) { 13 | withTimeout := func(h http.Handler) http.Handler { 14 | return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 15 | ctx, cancel := context.WithTimeout(r.Context(), time.Minute) 16 | defer cancel() 17 | h.ServeHTTP(w, r.WithContext(ctx)) 18 | }) 19 | } 20 | 21 | r := NewRouter() 22 | r.Handle("/path/{foo}", withTimeout(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 23 | vars := Vars(r) 24 | if vars["foo"] != "bar" { 25 | t.Fatal("Expected foo var to be set") 26 | } 27 | }))) 28 | 29 | rec := NewRecorder() 30 | req := newRequest("GET", "/path/bar") 31 | r.ServeHTTP(rec, req) 32 | } 33 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | 4 | matrix: 5 | include: 6 | - go: 1.3 7 | - go: 1.4 8 | - go: 1.5 9 | - go: 1.6 10 | - go: 1.7 11 | - go: tip 12 | allow_failures: 13 | - go: tip 14 | 15 | script: 16 | - go get -t -v ./... 17 | - diff -u <(echo -n) <(gofmt -d .) 18 | - go vet $(go list ./... | grep -v /vendor/) 19 | - go test -v -race ./... 20 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Rodrigo Moraes. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz.go: -------------------------------------------------------------------------------- 1 | // +build gofuzz 2 | 3 | package securecookie 4 | 5 | var hashKey = []byte("very-secret12345") 6 | var blockKey = []byte("a-lot-secret1234") 7 | var s = New(hashKey, blockKey) 8 | 9 | type Cookie struct { 10 | B bool 11 | I int 12 | S string 13 | } 14 | 15 | func Fuzz(data []byte) int { 16 | datas := string(data) 17 | var c Cookie 18 | if err := s.Decode("fuzz", datas, &c); err != nil { 19 | return 0 20 | } 21 | if _, err := s.Encode("fuzz", c); err != nil { 22 | panic(err) 23 | } 24 | return 1 25 | } 26 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/0.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxjRDhCaG9WdS1IMUVoSVc0N0RRYVVMX0ZJcHlPNU9vZ0tLNnhaSm94U3dWVFRFUzBxZ3FTOEtnMWt5d1JsZnRvVFJSTy1VNEFqUXJfVGp0dVBKWTRpTHp0SjhyUlJWbEpMVlF2ZV9CdU5Vb2d0cEE9fFomN3uC7sVpjIiNqJ7nSmSW0OcB-1nXJndHHUK35Z_o -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/05a79f06cf3f67f726dae68d18a2290f6c9a50c9-1: -------------------------------------------------------------------------------- 1 | : -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/05aefe7b48db1dcf464048449ac4fa6af2fbc73b-5: -------------------------------------------------------------------------------- 1 | 2 | 3 |  -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/1.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxURmd2SUVTenFSNDBMTU84ZDkxY01Kc1JhVTY2dnFqdjUtOFRQZ3p4N2FiN3ctMWVtSnVtZ1kxVjZkR24wdVVWWG9keHMwZXFXek9XTUs0QVo4dXNkZFdPQXRScUo5RzJLZG8teGVNLXFEMEJwcE1lTk9GeVprdjJ0SlpjRkVfbEZBLS1TNXlmTlFidWZCWkh5TEE2WE5YaERuenZjZTZWczFyV0xONFEyc0hWNjZ6RFBGUlFxaUdBcjlZOF9SMzBTV1ctb25NLWxxUWh5X2hhNk1jd3plaWZ0NFV0cGNRYWpqSjlWSjMzUU9QSHdMUUlYdVVQVHNHOEJsd2tra2h3ODJtWkVkRVhLQ0ZRNUJlZVdva0U3RWRyWk1NaTZjaEhOdkppejNnPXyQsRqNFNx_AMU6do1StnhxPHRr3HHtfu7dVvDF3qiDNQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/10.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxROFk0ZzZkLTYwWWx1NlJOVFdRZS1YeEZkVGN3TkI5bXdlRkFtTkFTRXZKck1aSGI4TVJ3Vy1Sc2FVWFI4N3REYU9DYzdLb1JRQjBMemhtNHhaOUtMNnhlQjZhUExUeEVwOEJJXzNVcnhqMzZsc2ZyVDFPdlBrcVAxQjhwTE9JdFF2WG9FTWxqcjFWT1ZGZ20yVVdDckFVUE1QQW1EbURlU3lxcEJYRmh3RllhRkNaQnFDNXNGWGx1bm1vYWd3RFF3VWlxaVgtckhkTWZldktzWkZvcFpHTkxwd1Y1SENqdGFpbE9VOUpRZkhSN2RKcHJ4akhteFE4Z2xodVZRSWRyUk83WHpQbW04dEZFVi04Zkd5VHR2WFdGcUdvQWRlWWs4dnZGVUlNRjF1VT18Ylj4DXWIZQD6Tmf1UTA54iJj49qE2sUFzr69lsBdJXo= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/11.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxvY1g0WGhRNVNaRHVLX1lPODEyOGlRWXFIb2diNFd1Tmt0YWF0TWcyeXhKb1pDZE55Wk50MFlodmYzUWwtRnp1bkVHZ3ZoZlFWZnc4WGluVWNyaDhPTlRlaGlMWTNJcDV5dFJxSFJWQWIyYjM4V0RxaDVJQy1nREtiaGZHMUhQNzUzZ014SWtVU3p4QTdlV3NBclVzSHYtQ05CNVZrNGszb0VRbVphZTB5RG5QellrbjlpeTNZX0RXZGtQaXhZTnkzQ0ZNdXhCZlNLNENqTEZGSHkxNzBBV1ZpZHV0c0FGU1FSSDc5QXdIaDdJZlFrUFVUVGdOZmEyeGwxYTBUc1RUNzRQTC1uWmZlWUp1eV93dkQzMnZkZjdRMUE9PXyAdVeo7mS4I2iCVT_RBaAtFggrM1ATqiz1Qfl_yGMLdg== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/12.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxabVUwLTZRMUc2VXpoN2tLaC1uSlRUS0pUelplUFB5UHlrU194QUJfem1zZ0F6Q2ZxbU04dWhOWTB2RE42MUFIeDF0U3dVdzZtaHNXOFFTbmZxd1FIaEtTUk1HdnNZTGRaNHBLWE5JMkhlWDg0UGwwcnphZVFGc1Z5YVRISDB6bjZmZHNJaWJIbmdfR3ZKSTJCZjdVNlZaaVlPaFRFNURMLWlPNXFrWUYyaUc0U1FGQzlGS0FwS2NVcks4ZUVHUWc3QVo0OFA5ZzczYUhzYjY5cGZSbi1YLVI2RENnalZRZl96V3MxdUdTVkE9PXw8F0WJVogg9iGVRsENzrQyPuDs2ZiPEoax9PhGEuae8Q== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/13.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnw4N3pMcHc3NlAzS2JwTHBzSGgxQ0k0cWtMOUZwc0JJSGVUVnJDTnE1MTh1WXpLZFB0MHFNejBXOGV1MGs0VHRzQVlrTWRnREpoZ214Qm1ldEJnNUkyVFc0U3pHbC1hc3JRbDRnLVpDNFhLcmNQaGM9fHfi4gFT970lAhbTpz5WB_N8a8ps0mDRnW-T9-5gUqur -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/14.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxVSFpwR0lpMVVsQmF2bjNya1dVTTZfQW9McWk2dFhVSEkyWGZva1NNbE1uOWc4aVNBU0N0V3hLU1k0eGpDVEQ5dWtYZ3EwdldzZFM0eTQ4ZHRsS2Rjbmp2YjNUZkt4ejRtWThuUnY3UVR0SVE3dFFkMnBwaHdjR0VVS3o5N25NY0tiWllUTlgyNDc1MzVEN1dZSTQ0NVktWVlvNzlaMkYweVZndFFacmtxNVhmS2otN0FFRU1SWi1aX0kycUo3OEtkT0ZhbTliZ3J6cDZtUUhvVGdUQnZQRU1KaFNWWVJvNnp4MjFfOXlGSjlKc1VpZkxnRmV0WkNFZmM3ZGlOcG5NQnBGc2VwME5PemNpbFdxaG8tZHJtdVJvLTd2XzRvS05sVk1oTEswV0MxUmk1c0F6VUU5bVQxMHdPbVpzY0M1b3Q3dVNKUmh5b202TFVwQjBfdENNalB6N2hrcTR8xUFEKJ42IacQ7V72qt2NSe4yPms5fjuFSgAVnoIzTe4= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/15.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnw3X05zSEM3ekZZZW9iN0pwOW9MT25acVlJbGRTaWNNbEt6Y0RYaGpWRUo0dXVySjQtRm1ndFdGTEhyT2dNcE5laFJMZWluOUkySFVORzFlYzEtZ2xzU1NwU3RXSGdER2RoUmJsWWpERjl0d1BvTTJVbW9yZ2V6QkNiRy1ESnNwUVhpZmNsdEhyR0p4RVpCX2V3ZmxReVk4PXwxMDjJkXSAv2j7SOCkQI6DhctO1rmkfe5TLCemSgF5TQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/16.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxVLUNuN1Bmb2owRVUwLWJHRUVwUGZPNmUxSDJkeDlBeE45NDIxLUZaVE16VU5tUF8tMEpZZlc0QmxFSmlJMVdNU0tfdWlGRDFadWNTb2ZBbjlJRng2bzAxa0hCY0cyM2R4SlhKZjZuV1dCdGFRdFRBS1ltaU5lMWtPdm9wcmVQZzZlT21UYWNMVGQwUjM1R0NBTVYyZHlldnlRPT18NfdAQbuBFXoRDB2lcBp3PsOZOoRyGXOD_5Vb5mOYfdk= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/169c3e89cd10efe9bce3a1fdb69a31229e618fc0: -------------------------------------------------------------------------------- 1 | 8Q=== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/17.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxPSEJsU0FQMUh5OUYwTWRLRnFFckJXalVSSnNET1hmeV9Tb3IzRXlqS05IR0s3YnhmSkU5SVVYTlFzU09OcEpKcGpQaHd6NDU2ZWhoLXQ2ckpoM3cwSGJMMk9VbkpWX0ZVUlB1aFNnaWlSYXBzb2ViNXJMRjhBcF9WVmRSelhOaWtuODRHV1E2QjA3b2ZnQ19IUFdQS2x1Q0VuaWxHN21SLTVGZUs3MFVvTFhzZmdoSXZ5VTFJaXF5LUZLVUg3aXV3clFmfHWnnWaZO5H5ZBokfQp9DE0Vqo52hWUySU2Qb5dOis4X -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/18.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx6UzgxOUtEd0RRVE9fUzIxVGdjV0xvZExBM25HSFU0R05BZ2FSVzFEX29hRzQyTEdSZHVOdGNBU1pJVk9fZ3hlU0toY3RHSjJiZjVXdGNXY095cVNqV2owWm9OdXJfY1BHMlFib3hWZ2dwQzFteVBWWTNJQU9TcWtTbjF5STJPQ2Z1RGsxbzJzSGpyYnBZR3gwSDc0VjJlYkxkVkswbjd1c01VWUdLR3RhWEFLd3p1RkNvV3F1QWVJNURtZXQtY3EyOVZ1WEdCN19lUFZibFV3WDhvb0JwNE5nMEVqbDRmdWloN1g1WWRTNWdNMDB6aUhTQkxvWFBzcFdka1R3N0p2Y3ROR0pyRmdCaU85cEgxVlhOYjhHbGJUdlFMNDlSVTlMbGFfZ09ZREhnPT18O_WDUgPOoZz_Tj8Xl5xmVh8MW4DNTlR1Z_RKXp25EgE= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/19.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxWTzdmRjR5X0pDT2J0VVpEUlZuMkFhQTBUQUd5TG5fa2xSZndZTTB2SVdCcHpZaG4yRFdpSFRQamx2VW5RZlIwZ0h0MjRKTEdIb25RNFh1N0VGQjhBQzJSenl1d0V0d1NkNy1WU0FNaFB6cl9tWW9xQzJUOW5yelVicHAyVkJ5ekZuVnhRVVFTTTFDQmhFRHp6QVNkSjFMdndWd0tuamhTUEtEUTAyZHVCcWhiMFpsSHN2V19yby1tQ0lVQjlPTXcxaDZLa3BFTnkzYnlBTTlLTTZWdHFKbjVIejVwRjJKbFpGd2J3TXJwYnQxQ0gtTT18fWdsGgvMPIXZ2GFuTHyx7UEQxVQZ5kuLef2HuTWuMmc= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/2.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxWZTY5Rmh6Tjctc2Q0LUNKS1JjckZCYlFrdTVHZDY1SGN5Y25yY21DTVhOaXMyVTZSeEVnZEhwd3hrOXpFdk1MZXRJM1lOY3BrQzM0eExFSUtsMG8zTVZGNV91SDI3cV9BRDAzVVpFNEg2WWljQk5kOHRFRVlya3J6Y1NuTWhqVnA0eDhLelY3MkVGZmdRbXdvS2VXSWxicWxiX2drOXZHQkVOY1VzQWdUNktheTZ2UC1hMHRFMEdubmF2RmNxLTF6cVZhM1VQTnJSR1RJVm1MSHRiX05XVkc1bEpjWGFLQ0dMS08xMm1QQTFtekFUNUlCZz09fDoYy22cGspOxGc5hXTDyuC2dUigy05-6F9jWgzcQAhq -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/20.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxVWW9MekhaTFowaW9PdjkyUU9pX2M3WHNma1E0bXltbE54N3kyLVhuUU1ya3cyaG9FdFJGRkdIcEY0bmE3RkoyTkFUSlJBSEhmSDlLRW1qN0xUM2EyVEZPeTJyNHlFaERIMng2eWljeGNOaFNXVTZoUlJUbDdLMUExRmE0NW5qRzhZWlpreUdCMGh2QmpPcmEwYm1wam5UVzR2NnI0c2Z4dEdQZnlaZz18gq2BDyZoxUhCEdkDBJI-CKd_dBMqivkn0JPOWKVU5w0= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/202ad82e80f70c37f893e47d23f91b1de5067219-7: -------------------------------------------------------------------------------- 1 | 8Q== 2 | 3 | = -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/21.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxMXzFTTy10UHl2ejdOVnBtU3o0VmM0ZnRmN0dMbnk3Wlc1WVRlOXRZRTA5aVBOaHlxUDJWZ2gxcDRlZk50aGJNOUdqSlpyNmFBZGdmcUtiMEFZTFpPbTF5d1VfT1UzRHl4M19uelJBemgxYzVOU0lqYlI1Wnd0SW1MRGw0Tmw4ZUNOdWxWZF9fZlZVNnJUYVZXcDl4Q0JBSmJmd3N3Mnltam13UGtxQVBKTkkxcm5mUUNhWVprNUZYMXFPRG80aFhTODhfRXhVTU1uckJHYzJTQUhCeEFYVmVQSUpuWmFmSzFTaz180bgqBZn9nHXblgUiVtub8vMX5yoi0kbhENzp6sddMt8= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/21606782c65e44cac7afbb90977d8b6f82140e76-1: -------------------------------------------------------------------------------- 1 | = -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/22.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxTd180RjZHLWF5bjhuazNjQ1hmZXFIdlJMQnk3dDBDLTZpdUgzeHU2V0dFWFFUTnBhaEc1Y1ZHVllnUGROS1BjTGdnM2M1X3drSEotdGNCMEhwVE1tS19nMURTdDhCTUNGMjN1WHpFd25yc29XeWVzQkhvUXI1Qjlnb01fbkxZaEpsVVhsLTJhTFVaeEJjVGt1QjR6T3pNek9aeTRtQzlFQ2FTZDRRLWpTcjRaT1BHUFJRTFd2aUNXZmNlX29BRGgyWGFNUUhBRHJVSGpmVmlEbDVXTjlVcE1aR1JCM3lTZTNNMHdsbzNVVVdzUkt4aWV3c0cwenUtdFVaX0prOUZvTDFjTXwmW7ViLzDpDQ4HYcVtkyAja04RfLbwMybME8V1n2KnJQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/23.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxxQkhqeVh5R1NmamdQVXVKcXpZa1UxWG1JdmxsZ192RDF5RmlXem1IaWU5cm1nVzhEWThJR05sQTJhTWFWOHhmZVNkWUFseUtNS2NVTlRaaFpFWElrS1hpZ1AzMFdkVUNEeklGT0lIUDNVQ0pMU3g3RjZJb2RkUnAzVkFRNDA5RzI1ekg4TFpUWU5KTDhsNGY4QVA2NVpmcTdYbWNXWEw2OGRtWWozQ1NhVlRzaW93VHl0RXR1VDBIMDBrRy1IZFBiZFNyVGU0bVEtQ1NPNVVkb0FHREM5UnR4Vi1LajdsclJzbnF3OTlMU09TdFBTcTM1eEo3WEVISFJwRlNhMC1lQTZiS0tlSDJjRTZMc1FKT0VrSWIzdXZtRkw5UHlQTTZxQT09fLEJ3Ff2tP3aJxgI5TrhzBOYMEF5guG6Lkn4PrPGh_uU -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/24.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxWQUVBX01zRWJrdkcwektCQU5FNWdJTmZmQkVvenRaTVVNTmFCcUtJS2gtWUM1MlltMExlcHFrVEdGNnQxbDNvOGFpSHQ3c1pQak1DbUw0Z29KT213QkJneTZrYTE0a3hpc2Q3SHNZV01LWGJqdWY2Q1p6TjlTX21pOU82Y2pVUTJzWE1ITElVLXZNUkxJT0hEVy1XalJmc1NNZGVYdlRFSjhPQUFBTEdTLUhYcldPQXJubWdXUnRNYkpkSmtJSklTZEhQajZVbGw1cWYwUmZPaEE9PXzAmHnGMLYEU2NdJfNpx0XFAoVqZEexvIbAIvvO1oggig== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/25.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxUUy1RMHhjTm5rM1hHWHRPT3prM0lUT2F4NGxERmNZMmdDbTJpdk1ObUpXZGZnSEZ6czQtWHRkNHFDVXBaREhYc2xIS1FnM0FjUzlBb1ItVVBRR0c4THRLaXJyOUVwTndCSzdpTGliR0xsQmpzX2FjRmhWaDdISGlYVFJFNmowZC1FYlpsbnNRVUtFei0xZVpUV3loUDluaGhQM2FNSlZaVmRwYThySm5RcVpEdm9rVVdMUkVpY0JuQ3g5RDNyUFZkQjVldzVQazdVZC1vemkxTjRGVTlwWlRsTGZZNURXU2IyeGVQV2JiNS04OVVFSW9QR1B1dUVtUXBRPT18YY5iRJLicxAb8HQ3ztH55VaIsETVU-ih8XWjqvUFdWc= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/25c648c4c5161116b9b3b883338ddae51f25a901-1: -------------------------------------------------------------------------------- 1 | 8Q== 2 | : -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/26.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxWckxCcURZVzN5ZXpGWUNKUU16LWN6eEwxeERyVERpeUFZQzJNOWhrN3ZPSV9HbTU0bnJmcm13dnNTSWFWdElnMlA3OTg2cDhubDctNGo2WklHS0dSZm1Oc3FuVk9TMDFzckN3WGEzRzNuNDNvd0hGMVNtS2hXNnVkbmg0Skx1MUhmTkU3dVd2TGUzaEV0TV9PdEdWcl9wNlNqbEZyTXcwRjAwc2NjOGJhUEp0b0Z5YzE3RWFCZV9JekdXSmhxWlQzdk5wblE3SjFoeVc5dXVlc0RGN3RSMD18GWFHfNiy-kbdyUHsI7sohnd2psiLzBQsh4EqtAkWNbw= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/27.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnwxT2JtNzdGVGpFeEtTMDBtLVYwbDd1djEzbzJtbnJqU0hsNExlb2F1VkwteGY1VkJESGp1TEx2T1M4MWhfbndNN0tsSzJ5cXdyWEhrc1JnVEt2NWh4VnoxMHkwWF8yMlpOWnVLYnR1ZEJOWHEwUmpaRWI4Njd2Y21XN3JnYzd5d1RIeEtDU1YtdGdyX2tFN1AtY3JZZDRNdVVJSG9EWGEybEdGUDVENE1tWjYtNnE5UEpLYlJEYTNaN285LTVaeU98-s7M5tZwxQHP__ru0pr2s2RvJoHKw3UvrX5RySOdkyI= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/28.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxaZ0RRU3NQbkRQMEU2eE9IM0pPY3JKdnppcFJnVHhHZ2FiQmh1YWU0ZFh2eUREdmNkSmtmdTBueHJqWkJhS3ZJN2YxdGpWQUZQaXBZWlFMd3ZwUDlhZ2J4dlJhbGtCMmFmbmNGQTVlSmFZckh3T01oZUYyT1kwb0RvejJZMlg4QTZxaVJ4a2FoeE93U1QwU19BREo4SklicGxkYWZBY0FucE5VbXJkWnNwaXpjR1o1QUxQTzlZNl9Jam13Nm9IZmhsUFBfazBpcUNKMHdyOU13OWtMSThpYkJRZ25pbWhUaExxRzRUTlRBTjBjanVlZWc5WW1rSS1KdlpUSUo4YVEzeEN1VDhlc0stSFJ4YmRyVmNWdWRZZGZpM0hudEZ1aF8wV1hjMEFrWHJVTEhGdz09fNbtYysnGt4wf4hzwKO35zhSLDX9GXSzLkircCuJMmzK -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/29.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxNN2xITzVlekdrNzhMT1BPSmdZZnJuOFppblJjSWNpTDhfdXFiVEpIR1pqeFdnRHlnZEJrN0o1UDNLQm9MaC1lN1NLMVFiOWw5ekpKUktJaklZQWJKODZJUlZlZlBFZ2JObmpVVFZtUzI3R01HQ3RHNEI4RF9Hakw3bGMtUW1Ucll1Mjl2SXlJRDJmdnRaS2I3SENGSDA2U3hDbGZSZkVMQW9xRXEtREl3RzY4cklDSlZVV09mWm0tU0JwaGxKXzVWTU5GY0plZTBIY0RCOXh5cVI1dktGRy1XVGk3aWhJcllTX3cxa2RHVUZnLW45eUl0VFZRTHVrYUpMVWlrYlBSaTdOME5PWTVWYm9SeXFpM0dQUW1HOGFJWGFOWlllNV9fSG4wWktlNW5FNzZ8ZrFQcdFDl_-VscnBXTUhM2XvBRo4Ev0Ap24dqkH3jnI= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/2aad7069353f2b76fa70b9e0b22115bb42025ec0-2: -------------------------------------------------------------------------------- 1 | 2 | : -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/2b28c8193457fb5385d22ef4ca733c4e364f00e7-4: -------------------------------------------------------------------------------- 1 | 8Q== 2 | 3 | 4 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/3.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnw0b1JaSmp2TWp5M1pFeUJVRVN1VDZBSmxFNXpMMGJ2LTU5aXM2N3g0Y2RRdGlyWEczT1ZoY01fZldvRWZhYXAtYm1OQ3FQUG1IY1N2M1dTZV8yeEpuMWtQeDdXcno2QjI4UUptYklOOHdQZnhTQkFJRmVmNF9tVHpHNUpJdWJ0cUVHZXdacWFabU1HaWdfcnMxX2RpTWNkbU4zRDBfMnlLUjYwTlRMa2NnajlkemxKNVpLTTJPNnRtcDIxNUJ1TU9Uczh6S2FmUGk0YVF2UVAzS2o5Y29IM1FYZz09fGpjKWy2IhR07BHKlkb0Zr7qxojZDZLU2AKB-1azftV0 -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/30.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxZUHVVYmEyUHNRUFlDV3FLU2s5WDdIY3NYWlpYNENISEVta053YzFMQkp1M01pLW1Cck1neUVNZ3BpZ1A1UXNNVXcwQ0NYd1k3bkNtUV9hMDRlTDJHUFM3Sm1NLXREWUkweElOc0xHV0NYQW16dUU0QnQ2S3FQdGl3UnlxX3I5NGdwenVFajlXMDVON3VwZjVJYXh2cndSVFlicHNXY2NUOU9SU0ZDQm5ySFpGNVV4dnY0dWdQVFY2U2hJMmR5MDNRcmJickE9PXygp9rjsTBYaNuCDC0IRxtbTx47LZzJqOHHkfbe1LGNXA== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/31.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxGWHN6bWdhWlRTeHBJTGlJcVdkVXZVaUpjSkRxMDF6VzU1eDlDQmFUbjJFaU5RUzB6WUJ4c2cxUTAwMDAxZU0zNGR6REF4cG1CNzQ4QnJBVlZaT3dnOTBBTUVnYXFiaGFESUswMEtaQWNCUGNQQ3BwbmtMY21hUU5CaG1PdmtLY0VoMk1PaWNJd0VfLV9DZW93QXFjalhRZE1ieUZBUjF4QWhDeVBaUnQzMjV4SnFuZE1fOU9ra2ZOV0ppLTRHNXg3QzktLTVtYnlkRUJaTDRMbllxSW5kaHhxd1FZYWllLWZQUW11ZlhUVWhLMHZ3anNRUVVIbEVDd0F1cXFjNUFTQlZoNTJWT2RNVVJyM3hEY3IwZDZkQ1JuNThfT3pvUXVvbjZWOVNNTWY3X3hEbnM9fLxht7FvJD4a_FPtZFHY-Jty04388qOsUPtYAh_v7RzR -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/32.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxDN1d0UkJ5Z295QWp2QmJEaXdUajBEelJRRDNGVEJDalR6Z05wUGpoeWc5TjdEZC0wTEljZUp5VVlHQmR3ZmRkWkM3SndCaGMwclQxSDJfVEpjSjlQVUxLQ01zZnV6TmVpVWZwelZrNGgyTHFKODFNZGt2LVVySDJ0RnlpQk40UWNFQ1BTTF83cjVBVGhzNDJCTnZycWk4Ulo2TnlxZ1RtXzlEMXJpel8xMDV3emc5aHFiN2dDS1NyV2FqcFVIci1OVVA0bGtlNXNaS1Q4dDdIaDVnY2lDeGdoUFk9fABSA5I3BIpmZmQgqbHgTAqVXIli2piNjBtxOxdjvqOo -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/33.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxTOXU3QS16QzVwMnA0cW9rYV9xOGJaSnd0TE9mU0ItTEhIaXp0OHpTVVBiZDllTlAzV2RrS2tzdDBzM3JSWkFCSWc3ZWxEZm5sLUVydnFVT2x0eFo0QWZYTTJUMDNsa3QxZldnUV9mX05pcklvSXpmX2c1bzdGLVdQdFd1U2VrTkdscHpJZVNyUkMtSGlwXzNnMFRZbnJZNmNrT1dCNjNiakpYNjl3QVF3bzJMMi1HRHzsH2Tt9rxpZH3zsEqJu4iMDx3b0HY_DG8ww5NHxWnf_g== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/34.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxyYXZWSDBFYlhuT3dJd1RORjQyck9LU0RJcXFnNTNpVzlkNkliZzhJMUpOWnFfMW4wSmhpblZZRUpkMnZ5S01uUnZPd2ZROFZpcFduTXVzSDlHMVZyZmFqV09odm0xWkV5RXNoazEwbnNsOUdQV0hXQjNpVkIzWTFJUi1sQk9IZHluM0dubndmbkxLUnw71foKMZj5sjRaa8r9NSKLljA4s-sV3iSuUIDE-rhFeQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/35.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxwT0pPY3dJdDVuWVVwdzY2ZHhWS0xsemNXdDJnNkp6VWk0X2k5bS1ZMHUwdERuSmx4SFp6LVJ1R21IcDJRMnFlOVZVUHI4SFBoUWlZY0RQd1NkeTFzRDlnemNVSXVuMU1EZV9OLVNHcm1BRlQ1d2xXQ1AzTzN6dGNWdzgzTW9VbjJQU09CbkVZWVBXTHVHbTNFZ1BzbThGSzNFdmhqREpSS0FtVkhFbTBxV0RHUUpBPXyJHQBE0YGJZylQO-9FgF9v1AR1MQt9RRljMVjtSJWJrw== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/36.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxkZ0pabTA5S0VrZFFhTG5vbGx0NjVoai1pbkR0RmI4VWhVaG8yZGNabWJmRW1lajlRdmlkT3Q2dFhFZTFLNXFrMWtCamlEV25SeTYxTGJqWV83M1Y1STd2ei1vaXFqY19pWnlwU0I2STdOakhpd1ZGTGRKV3R3VE5VZ01EcldPUVZpaDgwUnN1Z3p3YkZGdHk0QkhxWWNTcGFranFhcTdCR1NteGZQb05jOWkzVTd3a0tnPT18_ii97jAl3_Q3XFaUY2r8Fk4bqBhysx1rSQw_ppe-oSw= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/366e3e0397c8ceca170311fb9db5ffcddf228b51-5: -------------------------------------------------------------------------------- 1 | 8Q== T -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/37.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxNMEpYckdpU2JSV0VGS04tOXFGbFZmOFBxRnE0akZZZGZYazh5ZUxnYnhLU3g0YmNaU2RYQ1BUZUdaYXluTnZmQktleFY2WTQtWFhyblptOGk5Zkc1c0FhTkpjTmMtNmxjbEV0dkZNT203cWVUSXgzMFhscmxsQXpkd043cEQzU3Fpc0dXWk95Q213cTJGSUxoZjBWREQ2aVdfZXdyWHluMElmeWRHZnZzVFBDUE1ub2tCZTIxa011UDduc3hscEZjMHF0NHdRdnBtLTQxZF96c1h2WlZfbnV0V1B4ZjJwWTlodFpLOEU9fCETOj9CrLkOjHQ49IVc1S1yDcqlwQ4iVFaSZIiovrrN -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/38.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx6dWpVS3poT2ZaVDhwZVhGS3ZSa3hCckVuTkNPbWNiOGZtak92Rklrc0Y4dEZVbWlfNk9DZmNNMjZ6cEpaeHptNEdIWEp6dWo4YVBEbW1Da2VZMU5LX2FyelJlRmdzQkNwdXZGaDVLQXM1eVp2OVV5TjNBMUYtN0ExMlhMMkZCUklRPT18uOhvGznCMRvXlfsraWq4DfbciJOMOzHzoW7PMo0aIxo= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/39.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxSUTlaRTRnVHkyMktVSWJCZHBCVzdWUDRtRlJ4TmV5OGFCd0pPNllNdEFJMk96RDdLOWtqN1hTNFR1MzA0cVd5M01KM2d1Z0Fud1BQcTQxaUJGTFNkd3lqZTFpMGxnbnVwdGFPX0x1Rm9aVWVyVHlxeUdoaWFRdUtPeEhyY3ZYQWF6eVFRSE41eFhIZmxkaWloeXlmN3Y2dFJya2tvNl9WZkhXaU9IdTdPcHMtXzQ4V2FHOGRwSFJ1ZjdES3VqMTFRRjZEalozWVpjOTFBY1FoeFc0VDhZdFdCeVJhS2JCc25PVGdIaFl4cFF6Yml0ZHlCSEk5c1NhSHppNUpEdF93bjRTUENoOFFrMjlUVU1yeHNhb0ViWEFwWFVWRnBfQkxhZmN3aE9XcTVyVkVvVkRWb09sRkFKMWpnbTZaa1pRSmxORTBVS2xVUEtvSm43MD18oCSPYwyWuG4Fi_L4i-Ck2AtkAP_DFNm2P25AONmh8PI= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/3916f239f9da91baa003ee6dc147cca7f7f95bd7-2: -------------------------------------------------------------------------------- 1 | MT=` -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/3e70a0a4bb1ecd96f554cbef9f20c674ff43e2f6-10: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | = -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/4.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxBdWtBNGVWdUtUN2pwcFBUWGl0anpObmNRYmlkMkdZamxZTEotQk9UWHJpX19ydk51a0pkNklaRHN1SVVGYzdWSHRNRTRtZVdyT0VOTkZncUxPaWtZTkE5TzBOeTBOc0RyWEZuTzl6eEpHQ2lRSVh3MFNmc1JNekxfMzFkOVhmN0FldTdlMGFfbXh6bWRpYTZuQT09fIXGQXlpKRx2z84DdIjKzSaH-rt1LNVccss7Pok37t5R -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/40.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxzTl9JWlczZmFOeEltLU45SjQ5NDhkSEJkdnpBU091ODZPY04yQUJPV055cjJkaUVtdTJXbzd1WTZRdElzMlVBdUExeGVZZHo3ZHQ5SFRBZGs1cFhkVF8xRUxLOU5Tcm44Z1FyMm1INW9CeEFZbDJ2aUZyeHRfbTBlY3EzcXd2Vll1Q0tQQ2FkOHV2QmdUazdESXN0NWNqY0tILVBkd2FJbUhENVh4cXBPT1NhNG9LVlJUSWZ6eC00a1RLVmRXWUhBVFNjbUVDeWFHd0kyN2JDLVVrR0oyai1XRTJzQWdTZ1ZnMGNlVU1pTWtjc0VkQTNRdFJEdE1TdURyTnNCd0w2Mm5FV3Y3dUtpZ0J1eDhjQWVKWDJXSF9SR1pDS2s1Njk1OV9YSXNNbEg4Z0RQbW1lQnl3OVNRPT18xpN1Gzy5f8THuL4VpHgE6rkEAgP8s-JALzUMIdCy46s= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/41.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx4XzhJbWhsRF8tNXhHWE40QkJqSC12dVNPQVRZcHJYcXhOSlp1MHRERlA4Y2Nhd1dpV3YwRktxMy1WRDRkSHhsOEJhMnFmMms0d080dG9NMlM2Y3NSbzZoOWpjeUFkZjRod0xFNTF0RzI4ZDJlZzRzUzhXSDU2ZHZfdlhnY2RfNGRqTzQ5VUJCaHVVOWNXczR4bnF3cU5XQURvdmFDSkJKVy1HT3dvZ1VPVzVDOFliMFhaazBYVkJfVk1oU3B4UExYcllOU3VUTnAwYi0wa0dvd0JvcFF6dzVuQ3ljdENIUHzmuNnj2ddk2WHZr5R7DCU110FZIt0WYBt2eswzaM4gug== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/42.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx4ekswcTZlZk1PZ01kMGxjbERUTERudFVIOWVRRzduU1FrZG5GRWdYN2VIcC1JRjllQjZnT2t0WWxFM3JxMmxHTExtazhfNU54eHNJNnlobFJoQjZreVFteUE4WkVrbFJ5MTluTlFyaEcxT0w2VUV2aUtaYWhvUUJ5WW55LUVHSFBpZGlwQXpRYWVZVVpXMElrWHJjYURqQVgzaHlhaERxNktwU3VLa19iVkY4QUp0WjlPTXcwNzNVNVRqTDFRVHBxYkZGc1ctU2plNWtqX0FvWDA0OWpkV0YwREk0MGNEM3AwQXcyT2FkNGVWeGtyWG1QMkUyTElZQWphYjl6ZTNVaGVEZHJZa1NneE9UamhnVGZkVnFFQmRGN2JfZGhKUnZCcE12THV1eFdpX090RDVrNThheGthUFlJSjJPTnEwSGZCNm9scC15TGRMVjk0YkNUOUE9fBemXTR7HKYdKtHj4eD9GyTuMPweT6BzKJORecQUOHiY -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/43.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxpdTBEREVHaWx6OW9YZ04xX2ZwYTh0bVY1UXZYY1dGSk9XM0NFZ2VKektIR0F0dVY0RVVYNC1lLWtaWFdXSDl4aXlhQnNqQ3pMYlNxRFhXeTZtTkJxcmhKckd3U2hMV2xGeEJ5WWxsNFNxSVhFdW4wek9XdDJNTWI5d01tLWxITkk1Tl9IRjRxZnJnY0JPZ0VBS2cwc0Fya29qNG13ZHRvb25ESUp1UTlQM2hYSnFvelZyLWpYNHJqSnRnaTRFbkhVVnZyc3Fhb2UyQ3NkdnpQVjBxZkFVOVoyVmVOVExDUXpHaXVMNlEzQkNzdzF0M2RGODk0U1VVX3lGcDViVHpPTF95bFhGaFJkU2ZORDFkaDBfem12Xy1FV1VSR3ZKTFpJdW5ZZFJWSHZhVHlqbWN0ejkyOWlKY08yYnllSnVITlZTeWdDMVFSckI3dHFsdDdDSDNFUzNHUWwxRm5JT0NqVHpFPXy6hn09Iaig1LeW5S8uecM1E6X9JRmTLzFDWXDDklk92Q== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/44.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxYdjBGa0xlZFhqMmlPMFgwQUxxbmtjRlRCMWJKWWV6dkNvWE85ZElQeUtKQjFfRzRMa2pqbE4tUTM4djFUV2lzNTBLa21XMXVMSEx6TTR4Qjk2WmhiejVic0ZiOEQ4UTAzSFU0Q21QWlp1SmRQVEhGMjZXdFFTRXBCNlpWZVlhVEdFbG1PYnNkSWpmSVRFcUZDT19ZUVBuaHRIUXpaNGFiQnBTOHVrMGVTdFFvb0ExS0pYbWp8Vj60yLafH82y8qhmu1BxIr3gUFi963hxiFAdnBspPXY= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/45.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx2aGc2ZVB6blVXVmdKNWVXTjlkU3RvVlRNcTFqY3czVFRDMUlwVEVzX0p1UHlfRmpmWmdualRhZmo0LVh0THBPVUhmUDZoekFkZEVrcFRhVm83dnU1cmZPdktOcFJ6UTIyN1I0MjcyUkU1S3ZfMlVBSGx0MFU5TWRuRWotMGhiWmhELVV8610FbnSvRth9SdVC1Am-lp-2-VAR5tdLzBQL7kFPeKw= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/46.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxUY09CUnpyeFZzakpjOVg5d1VENEFnRzBUemZZM3VwUzZSZExXQXp3Qm51d3d0REV2OFdkS3NpTTFQVEtzRWdTSFBMdklSQVAzRk5yTzRKOUJhXzBIMm13MkxZSVB5VFZjclNXbWVTQnRCeWRrWVNjenl4R3FtUm80RkJwNTFNVWFjYUhlb0psUGowVC1EdU9fR2hLVE95SVgxak1QR0llU0JxWjRQcWc5WlQ3dUUxRGVaU255QVhGeHFGSmlFeks5Wk9TQnpnYURyZjYtMnQ5eGxiREhPMnQwQ0dGTDI3bkxBakY4LXVkT1BBM0Y1UnNRYV82QlVZNDRDYml4cVhFRjFBUHFmQy1Td1N3VWlEcjI4aGdqQjhId1lKQkZSdXd5eVVScWJPVXNBdWpPTUs2S2JzeDdBQzdDWkxMX2hENkVkeXhIUT09fFSsK7EVDyN-twBBPhUpAJbKWVJL3e3e-oryTS0Gptk_ -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/47.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxrNlhBSTJrN3dKeVc4SzltRGVDNDVUcVpjSldJRklfaGtQcjMyN0EwVVp5ZFJUakZVM1ZzSlktdXBXVHF3bVl2ZFU2Y0xDTFRuRGJ5bGFvZWZJQ05qd1d3YkNNaVk5d3R4Qk9lR0lFX3A3UmxHQnZEUEhZMjF5Uzhra1pZaGxsVXVxN1ZkVHU2SnpkbUtCSmZmZ1JjRU9STkNLSkxmeGFfQThERG52VjlnM2g4ZU5oSVdCM218tzuauoYyLqD78b9QoY073Z90G2zU4SVn4AShBcQiZdk= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/48.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx4WE0wVjZ5eXRsN0ZSdzRnMkY3aUhQZHRjTjRlRXNuRDkxU3ZDeFBGUl9UelZPSnNsTVJuX1pNUWx3RW5USGoxbUtKNU9sT0dSZTRybnU5NEFrSmVDYy1SMEItVmVZblZqVHN0el9BMTBaY2NHZVlkMGE4ZDFKNTk3NnFnc0NweTFZdG4yUVItVG1rWV9ZdjYwai1XQTBXem1RZVJ0WUtqYmtuXzZVTGQ4b0JibklublZEWWJsUVRYaTRRNURSNWJUSDVEUlFvSDR2aEhqX009fHDobPXrZ7PCnuoYwkWqQHmvqwG9flgTnby1RqAp0eEk -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/49.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxPUzdKazJFaWlTQmtNVFltQ1hmb2FBdzZIZ1NndnlHWmNRbjBkeFE2b2ZZaF94TnVka09sUXJjUmw5UlZmYXdZTl92clpVV3ZxSzhWajBSUWtkV015STNtak5SNDNkSXc5NnNJTkk3SjVJTkVaQVJpaXpOVXl1R2ZlMldZa0lIVnprMk93TEl4UEd3TUhTNl91QU1BZ1p6dlBqSFdrOTlvcW8wbTlKa25KenNFS2Q0T0RPcy11cEp0ZVdrbG5kNlBkUk8zWG03VmF6TFdBLVVVYzJlQ3lvSVQtbDEtNmUtQUVQY2dFSHZtYUtpT0t4ZDZQNUliM01LbjJQdF9wc0lWNkFaNWdPSnMydz09fCUtVdRsGfGjq0xST1F2G02INSyzVO-RQV82fZAx-tF8 -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/4b6a3b5efec9fd7ff70c713e135f825772ee0c5b-6: -------------------------------------------------------------------------------- 1 | J 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/5.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx5UlRweXlJS0JZanJyRXNFeDBnVWNfUjhDb0dlWFVQNGpUSHdxSk81ZkRrRG1rTVppX3pSeEdFU0NGWnlJTnF5alJnT2lESDdRYnpxeWo3YU1aZVFuSkFYSlA4WjIwaVFQTFJrNTk2X0N0eHM1SURNbDR1Tkd0cmlXUEdzeDJFb2FSd2lfemN2NlJFOGt6TnJDRk9PejMzeWFFbzAwcUhzZTlXZVFpWmdEdEg1fKISvrG7Go5WiuNqKEVCmCg02rTvoDUJR1MDwNdR_a7Y -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/50.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxIWG9SVjBHTFFaZ1hTX0RYemlZZ3VtWktBSTNsYi1QZ25YbTdOV1ZWNTVNd1Z1a2ZzOU9sZzFyVklKUjJfbjY1bHNjbHRHZnR5Q3h5TVR3MGNXMlRDT0FqLVNnaGNfYmlGSllsSENJS2Zac2p3RHRwcm1hWER6eDdrVEdaT0ZuTy1YWlRoR2tPb1hWY2Q1ZmNVd2o1Znc0SHo1N3BUV2tmVk4weEZEMnRXRWhtTjlNSGRBUzRBZDNCWWVPMm4wVlA5TFNRR3l3Z2lMd0xyWVlzdEM1cHdoZzBvUjlVcThBN2dfQWt0NU9vR0ctX2h1U0hiUVFMfKEklV7w5Qdw5B-zHGdc_8KwMCEaJaU93kfrkF0UlCO9 -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/51.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx4QmExOVdwZHNGcUxERzVObjVVcGwyS3BGQWwzbDRMSWVEU25MMllkUHhTWU94cHI2SFJ4VTBUOExZeVZpcXlTUXV1N1RfMWkySWVHallzRHNnY2Vqbm1QSzBuY1BWQURZT29fQ1NfZXFSaUEzY05xc0dzSmw3a3UyZlh3bDhlTUJMcmN8WV5M_DCWr0mpbvysNGaacX1PWwZukYRGCUd7zasT1Z0= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/5122906052326fb2d0f65fef576c1437b95256af-5: -------------------------------------------------------------------------------- 1 | 8Q== 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/52.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxhWkw1N1lYaXhlYXd2ZmlIeXFKMGVwZWZrRG0tYmNBVzY5UG94U1lLTjlPcVNDS1JUR1NoNkd1cnpMbUQ3OHFmMVFMRDAwOUFBZzh1OGVJX2dPR3RlOWhUVVZXcEV1NGNBcGMtYlB0M2tidTNUWXpLTVlLMHAwZVRQN3JVcHk2QnVXSnJyRGVpWTEyREtEQ25KaUZmZGRsSTRtZzN6MFJKeFFjMVh4b1pvOXBOVFJTZDVhY3ZnaVJXa053bXRmSnRha3B6VkFxUFZrM1JtUWlLbWMxeXNuM0t4UmxGXzNBPXwxnzQayybnomVu9KKV09VJw2upuS6v6c1S3b0sJWkzYg== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/53.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx1WVpMRXFVYXY1X2JmVkd2X292V1NyYzdRc0k1ZGIwYm41all0Sy1veU5IWHNXYjg2OGxGdFQxdHNRR3RqS0pYZU10bmNVOHBEOG9OYXRSSXpnZnlwX2hlUV9aaU53dUZJWUdkM0FBcE1mTHc5QXpRWU5jYkxHY01SbDk1Qi1OaWRidmkwMnI1OXRIM1BPN3ZNMkx4M1NHRTVGb3pGaHQ5bnQ3U2dVOS00SmJ4MGZndW50T1ZUQllCWHBnZ2dxcTRZS09sSkJjTnNTZ0EyU0NufLwPEP2PJ8RYQ9tckzQTz1lelud5sVzo6Jlpg8JkdBnE -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/54.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxlM0tBMGdMZnE4V3JLTHAxMFdIOEZTTDcxMzFhNlFaa21sYWlVV0dPc01ST2t3eElrd0pYSk4tMzZEUUVCekdYYWo0aXVxdlNHRXJZN19YR3g4MDd5ODd2OUpMb2c4bUM4TDJCWmVqdGFwd3VBVHFqXzZaNFpoQzNqcGZmMzI5RUpOX3p3N29HUjNtdHV3MDNLb1o5Ui1HaDhEOWxIVmp3ekE0eEMzZlpEQTFWaUlKQjl4UzBleVZXajlsOHpKQm5PcjUySF8zRC04RnF3dV95SWdfcm96VnZQMFlNUTIxMkh2dkpvRGgtM1dNa3hhRElCVEdTWGhqQlFnTndEbjZZVXFiRUVQNVpmNFg0Uks0cU8ta2tmLUxwSTlBZW5KZ3g1WGJpMUtVT2RXSmxIOU1fOEV4cFc1Snc1c2h5eGlqWTkzQT18oYMWx-zYrvIFzHtsBzkW0omgLkRlrOi2tV236JFCT_M= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/55.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxwNXNlWnV2cS03bDdrdTItdUxtRUZyMC1KRWFJd2padHFyS2hhY005a0szS3hkanY4RUp5TnJPMU9Cd1BJVlduSV91SFhKQnBnZktlTUgxdG5MRV9IcWJEQ19fZzZzNDIxaF9hQ0J2YV91Undnc21XMlduMUptSV81Rl8xdnY5NWN1aFdmaDFQUTlkWXlnd2NsY0pLSlZGemR5UFNyMHdCMWc9PXz_khLrMOYAvmm8TxPWewFz30kjj7NEr2ySyO_Tmifbew== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/56.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxFY3ZmNU0xdF9GUGZJQ0FvRU5JOXRlWEFpcGZxTXNhQUFhZlJPMzlaT0tNZzY4Y0VZZ1ZxWDRtUkJhZXo2M2d4TERXd1Q0Tngyb0J1czdrMGV4RWVfLTFWZXFTR0hYZExSMDVuSUVNZ19RPT18GQy_KUXhl6Dgc-_uGeJPfHdhznbqAKhEA0jEZq0wSKM= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/5601b416f11820e0203c84570e4068cf87acad17-4: -------------------------------------------------------------------------------- 1 | 2 |  -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/57.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx2bVUtU0tHRFM4cTlKbXJ5Z01TdjFoTXE2VHM0eGlSQ2czV1h3aFM0Ym05YXVkWThqWWpwLWZMbVp2Tm52R0Q0QXhMVGNhQUh6YzVWc19fd2lVMUNGYmFZOHVJWkd5SXhlODhtMFp6dV9vc04xdkpVRDctcTBGUk1MSG4tTE5KNlZLQWQ3OXdqMTMzc3dMZXpza2lSVmdmX3lpejJZcHp1RVlFQXg2aEx3VTlyZl8xbmZxdkhpcHZySUVsNUR6eU51NEE5NUFaR0xSNG8tSk9OQjVRLUxsWldNdUF5M3RhQ3FGdjV0Qlk5Wl9hRzdkZndtTTd5QnBPcVNjV2xmOEg0QVJkSEFwZnRKOG03MjR6OEJIZjA5UEVvMTNHVHwcuDVKBM6I7Zpg7kt4Pk-iLloKwO8M8f1qNQH7qLp0sg== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/58.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxoMjc5X2Fyb1dtWUk2MmZlV0NyNWZMU3BZUl92ay15blBZWnNmQk1qWUlkOS1pLWxkUDIyLUZwY3R2X1lRQzZNMmJnZV9iYXdYNG9pMmVISjZsUHNMSUVwQnBHdHFoSXc4Mm8zcVY3UnpjYWZJaWdSelZWMEI1V2NqOWpFY01oUTVXR053TzlyRnB6LWFzQzJKckZ1cDJtZDJndGFPZFRxdWYtc0dGUGRhRkVsdGJ2WmptUmNlQnZONjAwOEdoamk2anItSzFWVXwHNj5MIcwy6_5z9_v4k_oCTN1AX7sFtrk25QICzUSuQQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/59.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxsRmNtVjk1VXdqbnlWeDVDd0Q3QlZSaXdaWkx5Sks3QmVNb3hKVWU5cE0tdXBtQmJuSUkwNHJ6SlJwUmVjcjFhNWp3RDZNN293eGtTb19RU1Y2Q3NpcXFFQnhVdWR0eUFKYmNjT1dPNG1xZGQyeVMzYVFuOWROaTQ1allsRzloQ1NseVVzcDQxY0hGdVFGWnZyMzFWZkNuajBzbGZmY0M1WXZTckxSS0tYOGNJU1Rzay1WWXh3MHBhV3hQZmdFUnlpeTVUbXR5NzF1OW5CQ0h3SHhyLU15MzdhSmVMbVlNem50ODNxT1RmQTkyVEc4NksxVWk3SU4wbnNKY2xPdz09fEL3LkMkHs9AH_Kktdn22O9rjO5cdPayirCVWvy7NdFK -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/6.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxpUFhiYVl5dWhheFJxclp4RURnSWpUTnZLd1NDT0hLOW44bnRhc3dES3VZYVJsYzlBZkgySGhfTnJYcU02ZG5zY2M1TmFOZDhETTFqT0tMSklESmZTa2VRTmJYcm5UM005X2p3UE9aUmx1Uy03MEY2R3lMQjlqVFRGd1NHWXhGUXNLTkwwbFN3a0VFcTF1ZzZlbmtvQ3luRDRBd0x1dGZxZlIxUWhwWWZhcDlHS21jay1PeW5VV0hXSFAyRDlERGpTa0pwOHhXcU5yRkQ3NHRHOFFrZVBManJDRlFvRl9qZUJvR3Z4V2F2T3JDT0x1QUtScjlrMlZ6bmFlTzhtd2FId0xBekktS240ZHEwQTJ0TG03UmJFR2tPVVdpY3FiN0xuM01ib3Z4dy1HZEFOUzQtYi12WkIyOWxPV1QzMk03SG9RPT18Oy9xErnKlbCafCV5ZRcdNQ4oAkM6AS78DKMLRzE3Gp0= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/60.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxXZ0t5V0dfQnlNV3Y4d0dTN3JseVBuUTVsSTlYWGdyRE1XWGRNZ19ncUtZRFR0RWJMX2FaV2hxWVRwakx0VDdNQlBrOFlWdURTa09Jd1JSUlgxTV8yc0R1V3hmcXlwTmdyc2dXVDdBTjR4WUstZEV3TXdFU2Q0NUVzb1JKNnNzaTZBSnhweWhFZnoxV0Jta3hfQUtySE1ZLU5aWGQzcVlrbTJYNXlTOVNwbjFPMnNzYWZNTzRVWXpKSGFpejNrN3FUandSVVUtYml3d0pvSWVIQVFENV9TZUdvajdGSm94eDZBOGtWZFFPOWJfal9CR0dfaEI3bk5rbDVZX2ZPSnlJQlZBaFVXalllMDFQY3c0aWtoYkctQ1YtX1VKT2sydVVPUDg9fLemJf00wrx74T_1wH-isE4OGkygea21I7GLkI4X7udr -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/61.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnwxaDl4VUR6MnlJNHU1alhmRi1tWGdabVowaEJsbzdWb0xIekw2SGdVS29Td1BWZjZrQ3Z2ZmQ5cF9SZ256Qkc4cHM0QVRXMWpVVm1yS25HRzdkY0hWM00zc2MwTVVfaWFDM0RBSzlqQ0VzVko3MkhJdXAydzY0VmRWQkdXQV9FeUI5ZER6VFhpSzBWVDlFcXNkM09QUUxUN0F1bmpKQ2VWWm5oUzVEalZLbC1oellOMUZzQjBnS2VxX3puOFdJdm45alhXVHBIZ0VZVEdkaVpmN2NHSGVwU0FlcTdzc2Y0amM4bnMzZTF6ZGtXLUR1TTdSZV9XaWZwZUdTMkp8GA8K9swZ2XKR0-0_JudwK_Qa4BiuzOOxvZWn6Gt1pBo= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/62.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxYaDYzWUFLYXh4VWJFVlM4eWMwcVpkWlZ2bEJxOFNYdk5sUTJfQ3RPYUxKT1ZOTGlfYmNIT2tzWUprUkFWQTdzdUgwQUpOcjgyYU5nYjFDRXIwUVhIaHpQbkVheXxTuTszScurs8XNj14TW9ZRbnD2xmn-zFDAIyc8ZUDrXg== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/63.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxEZHpBelhtbTZXUjQ1RGVsYmdvSEVCR3VtQk5vbEg0MDF5UUxwcmRGeEtjd2tqR2c0Y2VWMXlwanE5bnNndkllRTh0Yll2NU5aUXBSVTdwazE0bDZLNXF2bVZocHV4QVBpVlUxdjJJTWtHMy1VYTV1TXJvOGxPa3JXT3FFY3g2VDJiM2NEZ3ExTS1RUzB1SGgzVVl4el9hTkZycTZZU05vR1JSWVhocGNDeV8xT1dxNHViZndyS2VOeGJFbkxRPT18uzh6hDGbvGTPDjTotEtdXXbulR9ukML3n9YHQBzyX_U= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/64.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnwwanp6eU51aGxsSEt0b0ZRNXhkUjU3YzZXWjJySnc2aXo2c2FYWFB3NjBnUDRnQUpPQ082bUZrTmJ5V1pvZVJXRi1JTzlsXy1KLVhpMzNidnlrV2xOT2RIVE5QalFqWklhSTU5c1BoSmQzY24yLUU3RFNMSXExTTE0djdyMDZqY0FIanhYWk14WUFERWk2a0pFbE9BYTgyOGJKalVCRm9SVWVYb2lvNW5pUkQwb09hUXo1bXBiUWRBRmx6cWpmU09NbWRLVWJsbnyekkTo3BRb4h8NxFsA-u3yJovwUt6YiFZRA6601AWliQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/65.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx6RXFNam1mMGdqdl9FdWdYbVhENlVnbElXVFVlVEloSWJFTFhQS1pqTzZONk90NDJIQ0pzTFdFMC1kdGlnaGJRR2lQTnZjVHVvbDd0SjlzUzhTdXJiNl9DMXl1eFN2Z2x6ZV9nSGJQNGxEQ1hDdHFoVGlSeGFmMzdsbG5ZcXZLbC0xMlJVOHJlU0E5WkFKcXBuVWNKbUQzRXhQdkswTlpNR1F5SFBndWs2dFZwRmNxS0Y2OVp2LWVvTmc9PXwa834Gqa_XEA5QQg7bVXgvdF3xnPxb8SYWMk2DYOmPfg== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/66.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnwyUmFwak85TjIxOG16amY0bnVyLWJ2cVpmdHdGOFRERExoQk5PajRIM09KaVBjWEN0UHB3T0NCUGstUE9EOEwyRE4zNVZERkx3anBQWFhwTjk1MTNTRWxTRVA0eDhpMERxUFdfUlFxdEZDU1hFT0pCUGNtR1JUTHB8vOPKYBrn6hBxJVx8lm83klo8lEfuN5HNBE6iMfRcVUo= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/67.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxCOXhFREpZaVJKem5Ec2lodER1RDd1Y3JsWngzQ0s3ZTE5RTAwRHVaRGhvWWpIa2wyWldaSHlUZXYzVGJ3eTRZa0oyNE83MGtxRl95SV9LdkRIQjlsYklwZjRYbzdKX3FpM1NkTnZNc0VlRi1kVTl3RGNjSXRkNFQ1ZkFJemJ0M2d5SG5QRmxiR1RwNkphUm52a01LQVlPSUZSaFl3aTlHbG42VlhnT0lwTHRUM1BkOUxKSjNKU1VEaWNNRVFna1FuY0dBQm1vemhWREpBaE5Na3JQWTV5WEtWZHRBWE96VFQ2RlljTlBkZnk3R25xQ1lXUHFEWjdPRXJMQ3pCOFFfS2hNcnUteWtDODA1WVVlZ182SDRQaUd2SFR6LUVnWnE2c2NXMldLX1ctQlpTV3RqUm1wclYxU25ZcnpvaUZpc3laTTVVcWw2RVZadFhYcE9sS0pmbEJLV216RUp81kEhfeuoPh7fasWg194BQUrNABxQRgO5E0UZhArboiA= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/68.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnw4OGlmcDZDelEtZXJNQXBFSE92SXBFcjFGWVFYak5vTWRtX2oyclQwUmcteC1Bemx6bVktVTd6OUk3UVVkNGZ0TnZIOVlHRmRWbUVUeXNGSHBCbnNiQUpCcWZfa0Y3cmI2ZWMyd1ZST0puNE1qdmJXODlQa1JaVXhxQU9FcU51ZkpuaUFJZUV4ZW82YTVZUmEwZThfMUoweTFpYTBzWFlWMUlfZTJ6ZC1nc0hkNWcwR05nRWJYTjBkaXVLRVJaZ1lORnpNVGZ3SG10QVh1WWJuTzFnVFl3PT18NNpLAmbpk2NJ4nUzZwjMB67lvypX_GHa8s0CJ-ftV8A= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/68c721c56a20c85b4aefdffcd60437cf2902b0fa-10: -------------------------------------------------------------------------------- 1 | = 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/69.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxWc0FwTUN2ZFdZS1JuZHpjazFvYkluVUhrOERDLWo0TFNaSV85QnZ0N2x6b19TdEFYcWJOQU1XR1ZodVNubGNmUXN2UDdMeDB2OXdfV0s2a3JPb1k2STlwU1BZWnJ2ckZnaFVmdWlaMFRDMGxOaDNSTm03c3FpMEdvVWxhdFh2YTFtYXU1bElWZnpaeGJkQUJWVDdIazZsQUVlRl94TEtWeFE9PXx0Ao9dRKXodS2pdmdMxn4s2gqMdvIf0LyqafRO2A6Epg== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/7.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxOUkxmblc1cnZBRUlKWDN0X2NZYzlwZmJwalBvdWVST1M1dnRFb2lKd1ZVelJ4ZHcwSFNyRGZobUMtMUlwcUdlcUxUdlRLc25ubWVJSk1qR3J3Ql9sVXNpeWpFU3h5Wmd2dm94SFEtU3pqWHpvUzl0YTFjOWtWMjRNRUw1NFh5SlRQa0tPV21pVXFieTc2cFZCOXYxblhsdW9WZVR5cmlZYmc9PXyOjmpasY0soiOXocnIfIjXzLBdvcIJSUf7MtnecEiumQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/70.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxONy13NV9kajB6Q2l0cEpZcS1oUGMzbTh3UEZqTUVGaTB5WVBTQ1lFNnhOS1I0OW1sLV9FRWZPNVdmRDBTakdlTzVLbXRfVFh0dTN2d09CekI0ckhCZlF1NC1PRHJpOXRyNkdPeUlQeWZ1WEhIenlodWRzeUJ0OERWOU9pQVYxRTZpTU1CQVBaMWtuRGJDSEtIeXpBajFweUhfNXZMbmE4WGNLQWZUYVJUQ1U5dGNQeGdNSlIxTUhiSVRvZDFxa2hVWUdxR3RVYnBzSWtrV2pEVjFhTmZFdE9DYkJiMWxmcVI2bC1PdDJnWHMxOEdoY0laQkdaMGEwUUYyb3NHMkhUOUYxOUMyQi1FTTQ0MXJqazlVRy05dz09fAeQr50BUvNembveqXWEGP7rlr5dtj67s9wqE6gHzaaC -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/7095a5454c9f66801f2b298e577a488a9cadf52d: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxjMHF0NHdRdnBtLTQxZF96c1h2WlZfbnV0V1B4ZjJwWTlodFpLOEU9fCET -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/71.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxsLWpPOUZEdzRvVDY3OGRkMjNkNnFhV3lSYmVscS1SQlQ4X1FyZUU4NFFQaUp1cmxwSkFrZWRJc3BSSjhaeVlZalFxNnVNUHhGcWRGZzRvSFkyOE4xc2V2MHRxVHdMQ2RKVFk3UVJnZmxKSTZkRnBUYjZqTk1QMjBlVDhXN0dBYXA2b0hPSVRoNHZIYUkxeXRaZ3NzbzRLR1dEWE42ODVrTWhIUkJ6cXJvaW1GSDAwNDI4MUdlS0lIWXhncEVXVDJBSE13VkZaM0tyRT18W02jU9IYV9lzRqQQxfOLzy-8Bd9bDwNImCpHGH6rnF0= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/71853c6197a6a7f222db0f1978c7cb232b87c5ee-3: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/72.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxpZ3o4cWhqT2pvdDlFbDJkQXNadHBia0hOMUpIQXBCQVozVHNMRlFYZ280SkhGb1JZeUJORDloMVRWM09LUjRYeW92MF9qaHdJT3pua0hVMWNOVUhaYTdLTG5mQXpmX1NaMVNlaUhZPXxTJ2ptj0jydEz6XpNwmpmW61lddMyLC1R1pxzI1eELCw== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/73.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxpanVFSDVyc0RGd2JSQVdHaWl4TEdmQ2hKSzkwUnFPN2t1c0hSVUJ6OGtCREpsLWwxb29YaVY0azFIUzJmYUZCOXVxM1A3YlAwbVctM1FzR29JcUFYSV9qWEo0Q3hhZS1BNG1wTXJFUkg3czVfYkJmbG1FTUpYRWhuajRQUkVjVmo5MzUzUT09fBj3LQ__1HenyVLrv81zQEy48ViAGjoQY2cq3guJe9b3 -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/74.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxaY002LVp3cmEzR2VReVRBUWhkZTBsVkRUQi0wcWRrYVVaNUMxNy1vdjZldVpwWjFIUnhsRjlHaDFnQm1TWm1fUFhQMlppaHppTks3T1RudGJfN24tclpsZGl1NEdiQjJxLUQ3dlFDbExoMmJnVVpGX05FZDF3STg3NzJuSkRMZ2xnN3lqY2xDM3NBN1poaDlzMzBhWS1tWHB1clhybWxHQUdJckVrdWhrQT09fFQeJmtO8msJrVC858xkw_S8fMoaOZMkHV1aI4Jh-IO- -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/75.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxndjZkcXRUT25pNXdSRVY5bWRvbHNSemROWGJHZXBNZ2VXeUc2ZVcxSVpQa2pTcDVNU0h0aGdlcVZBeFFFcU5SMW5JVnUwakpfWjlOQmE3Ql8td1ExOTEzNXoxOXZ2RzlkclF6QnhTM1ZEYy0yc2xIUldRT2F3SUhacFJLYVhvPXw4CQ6cMxjmD2QJtJJz4nUnQIaNACfQALE6oAWm6m4r8g== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/76.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnwyNHNDMDlsaWw4ZG1MajRrTnNkcWxlV3BIMWZQWTdwZGJub043WU84T0FHQlBnc0NVZ0RsQzVTUEFDRi1JUU14X0pGV2JTUWVVWXFEd2JBNVFpbjlTYXNNM3huVmFNaEpsamdMWVNiX2xpZkUyWU1IbHJzaExCMzhKRHROWFotZGVWMEI1a09yNWNRbTkxM0FnNzkxeGRiSnliMTB0Vjd4eHoyc1ZDOFcyUExLeFZRTlVfWFF2YkdaRmtLNzVrdV84SGRWdU1NcmtnclQ1ODdHaVR5RExTR2xTUVFpQWJISmNpZzBRZ3VUX2wxeDFWLXgxa2RYVG8yVHdfWjFSYUhGc0ZPU3ZmRGFvNHdHNk5GLVZmUVJma0tLejFwMVlBPT18oNqBh6DhdbWHZytoN8fI9neyTMW05JckdFpJQVk84H8= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/77.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx2Nm9oUDJCSGQ1eUJtSFBTOWRsZzVhUGlpUGdpRmNiR1ZidElBbUZRX0RVanIzN3NvY0lFUzc2T2NRVjNFYUxjeURZTFdyLTRpZDl4RGlBbTBsby1DVGtoUmFnRjB1bTE1dUFMbkYwbjRiR0NvcUpEam81UjBzZ09CYl9SVURudGgwSnVQUHo2R0s5QmVYel95cDgzWnZUYnBBdmlESm1ReHBDazdGa1hoZjBPSENHYUFZVXgtZmlNT0R3MnU0SDBUdUVNYlhQUy11ZUVMazdVMlZOUXFBcDh4RVAxaFFVPXxDq1pbr8BUxXw2qZpJMevp_9IcMC85wOHzyARU2H_nWA== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/78.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxTV0Z2NnJRUkxfWUh6TDhnSG5OaWdWR0FjNG1FN1FoMTN5QXBTRmg3M0FPNjFYcmtXeTBBU29HQlpRY29hWHNZLXFKdEVGRHYtdUplQXpDeVBpSmhKY1oyZHBzelhPZnBoVURFbDBleVNzMkpONFg4S1YxYzktMHFHc2VoX3hWRUplelFvYk5lN0RwMERSbWxZYlN5dEVIUUlmNFd5SEhqRlhRaTFsR2NrQWQ3UE5SMG9zZkxCR0ZlbEs1LWlzdUxzYy0ybVZCWjQ2R29OOWhyckJmVHFPXzBHM2VYLWpocFhPdGFxci11UXJhQjhyUHh0a3N1WWd1dHJaSWZkUERwTTdiYXg1ZExnbENjMjhJUnFWak96dGQ1czdBQ3lxR01EV2xzVjF4ZFBPUlZYcGZ2RXJZNmVvOGRpUDN3ZUp5M1MyY2FVM19RUlprPXydkj-7EvCOCaQNbV34o-vAQ8d8-fUHjI-c8krAQRPnYQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/79.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxOY3l2VGo3WmNvWURFbmVsTEZlYmNKSXVWbmI1SGhOeEU1aFpKb3RKWjByQkRiaEV5TGJkMVhwV3JCQzBSMXhsRHBPd05VMjA2M2lmb3B0QmdhaWthMUdKSHV0QWU4M2ZLQWpqb2dpQWZKcm9YSnBlZkpYWE5ZY1pDWEV4TklMWXpMTnNoRDVSejc4Y2F4aWc4bk5ORUx6UlktUHFjVkxfSmxwVmVSYUs3YWhmZzNSUjNKYmRTY3N4cV8yWnlXX2lCX0ZrU0V3TXNrN3otTUd3YnpuSGstVjZya3RXM29KQUtHVnZybXdrLWdWRDRlSS1kMmRab2dmRE1uYlFQcWxJcTBwTWhsbGtURVUxSHROaVE0cVlzdlNZYXd2bnRteXUweFRzSXhZY3xD7IJyMO91H3LSSM2v0nyqzyfNexTgGNeSYxw1n1YrWA== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/8.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx5ZjFSUkZQWHF6R0lrUlY1cXBwZTZpd0NDQXh4TXlDNUJuQWtldTQzOF84NTRRNFZFcVdKck9Ya2pDX0xINm0ySTlDYlA3RzNXY2FKbk8yMk5vc05XbzVEV0NLTnA5V0lSc1BUdEtYUmpTQXRUNTJKMDRyc3FjcG0xOHlWMlYyNTVMQjl2T0JlMlVSWmxkd3R6SEhPck1nTEdZWG9pU2VBTFlKWG1NS21MeGVkT0RQUi1WdUhlT1lOZ0lNSVhCQnRMRlk1dDBfZnRtZUlMUTFuSWdJakhZY0d3VUNaLW1maDFEUTFwamxZcTA5V3d3MlQ3enVMaDdfajhjQjl4d0xyNlQtc3dOMEhDbWsxX3FQN0VRWkNBU0d0MXZHanZhZTdfaDFqZlIzSHRIWEJJX3haZUd0WG9FeXFYSU1Za0JkdHBsNFNxQk9TM0N6RWtmRElJZWhUfKjpFKhD4zyUX3Wrcy0WeL0FzV2CQX9amyu939W3kXSN -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/80.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx0bG43b1BVZzR4MUs5WUZNWVcwRGQ0cWVEbFRqY1FnRDJLdHVTMUdSUGdUdm5ZOW0xYUJUZW5YV3hUYVBqejU3VVhpMU5lQTg1LTNZSnNzajB5MktLTEZYamdVXzN5NVR3UF9fM0R4ZmtPMEtLT09ULXNWRWVPRkVUREVnUWhudDI1dDIteHZaVGV0SW83ZV93N3FoOElWckZqWGcxd1g1cmJHZlI1bUVxVHFOT1E9PXy7SPZGoPPnDxm8JiVZi9hmXvvaIker83ubu_xoQONmKg== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/81.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxKU19faFdTdGQ5S1NrdThZN25Fb1RmNE9HT3JQcjdIaGxIRXFBMDdMMHc3VzJsMnN1M2Y1aE1VQUVlS3lqQnlCcjJOdkZ0OXRQUE12VUJMRWJiR3VJVmI4N2EycjdZOWo2THJmcV8yNEVnWG90NU5JUjh4RzN6ek5HZmxINkJnd1JZbDNfR2VsNTJRN3lCY1BmY1J3UlBKa1FkZmZQNHJLZ1dBVFpaY0J3VTctamYwY1AxSFh6TGxObUxuZnR5aTcxV01ZMmc9PXxHixMgIoezOeAoBv4fBC7eHYtIrvhSSu_I2XJgVc76RA== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/82.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxtdTk0NmQzLU14OXVVMG5USzNXdnd0azFIcXFfOElxdG94T0tYWU56TzRhNS1qVDdjVFlURjlrdklZZ1BpNldHczg1SkVHSWhzNjlBRnN4dXI4ZkFObml4ZEM5VUdxVkxfSmRHV3dpWjNleVhyUERhYm9OdDZNMkl1TnlXaGRNa2hyaEdxNVptVzlOWEhaWkREM3JnZ3AxSVpRaU0tN1NPMTNraW1LS3hBQjZPaThxM05fUlliekVjWG1VPXwmvTU7eZgs2jKeks78dS_iaI9YAE5euzu6plCXKk2goQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/83.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnwwU3BYN3YtbTFrUm0xbUtKWUlidW0xVTJ6Y3Y4U2NLajRtczh4Mk9wUDJVM1RJa3o2T3ZHQm9zaElwMjJKTVp1M0FqYUtKNGplNkw5VHNiZGU4ak9ENVZwRVZ5OFhYTT18HGfGXzhKalF_Nuce6azPPzYwsYHXcq6aWlMSRTGnklw= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/84.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnw0UE9TaHhpRk1TRnVlMDU1Q3c0STV1dHZaX0plb1RhRC1HeVR3V1lITC1HanpLMGl3T1RSXzE1YnBjUzUxT2sxWFp2VWQzSE5wellmai1BUm9nQi0zTy1MdERYWTBBU0lkQ0N5WHBZV19wNS03OVJPeUlRVWpsMnc2bjZfRlFjendVRzdzSm1aaG1TMmFoVEtORkg0aWJfSzlzSEZ5ZFc2amJsb1d4NklYNV90aEt5MDVTcjM2QTRYeTFhZEhoVTlrQlA5NEpNU2gyUTR2TTRUcDJxdk5jZXpIQ1FFSjVkOWI4b2g3RS1vWnRFPXwkqgChSUkX36GJC3EuUK4WURPWCCegxHB8tPv__n5PXw== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/85.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnw2YjRRak5MaEZJcVpnamhkeWRkYWNnbGFSWnZVT01XUVRUY0piWGFhSl82dTRraEFDZEhnOHM1MG9YZnNIMWJBdkpmaUVscjBjTmE2czgxWTc0TDMxR1VlVFRqUERvaFUtSFBNUGVuclVTd3VjaDh0R3l0MTAtWkZ2Z0FBNmhCOHZ2NC00MlhrTVE9PXyKjjYod2keoNkH9xgBYzdhfn92OG0pynAFLXSXosy0Gw== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/86.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnwtZEpLQVA0dU1Ga1ZqaTd4SGJJandmbEFuVllnaXJmTnBPM0xCLW5LM2tvdzZlQ3JfdUlaLVFleUd2ZGZ1Q2tDUG5aNmhtUGpPdW8yVnZiaERDcnU1dHFwUVBjRFp4UDFLaGloX0Q3VkVZU0tESjJ0aGNKdHV3S0JESjNLVTRSd0lLclBtX1hNRFBfaDVKdjczQWtwa1o2M3N3RTd1RE5kSDlxbWRmT2RUQURpX180YTRWNHhQM0k1cjJnN1Y5R19aY3pYTk1tSWtMVWZwdzhUQ2Y4dVlaS0xYbVdrS2Zhdkp5TlNVTzF5M3hSSmp4MXN0LTdFTjhSUnp3X0Vpb21wcko1alZKSWRScDlVb0pWeTJoaDlZNmc0VDFQT0FId0c1WGJLSU41Ung3SlBsNVdld2FZaF9pbUh8m3-4Zy4L5KCxUET1y9iV5cJgt0FTXBulXvO6e_Aeg_c= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/87.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxBQ2R0b01ORnFrZzZIalNBVDlGLW9PXzRCVWVvYWIxWC1KdzJqUGRPMnZ1Q1VSYkNTd3lFV3VPS1VMSHRWWnEyempXVTRLY3NkUTBodWQwZ2p2Sm9RdFlPRzFxMGtqQ0NGWkV6SlB1a0Zkel9rNkRrYUpaOVpBcVF6Q0N1aHlRM3BpRTE4dVU1VWd0dmZ1dkxWXzhPTzNOeDJaeTJOWm5KS3RabWNPZENJRVhiZ3NOUk5KX0dWYkRtdEdaNlNCNy11T3pvWUpUNjBUTDVQdUFJeUZoazQwQlZCc1BYSHYxeWtfUmJKSTFHY2dBeExRa1ZXY2ZWWFlMOURwOGNYLWFKT3dRTUNqdnVPb3d4c0dWYlBRVWhmUmZ3SWlyS3BvQzN2SHJnRndOZnZKbzFUNkVPUGpIQ2RSeWRzSFlYbG5pdVhFbFpYdzA5RnBNdWVTdEh1ajVGdG9KWWFzMD184QvlQbFCVsttDDm-Pf8YvgzUBk51UFvHe1EZXrM-vXY= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/878643f2e5fb1c89d90d7b5c65957914bb7fe2c6-1: -------------------------------------------------------------------------------- 1 | YA= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/88.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxLM2xubFVwSU5qVnJHS1BYWThYZjFtYmcxNmVsLWxzRWR6VC00RkJOVUdUOWpuTzZTM1NIT0xUTXNGWTJpeWFGQjlZMlJabzR4OHJvSnpyVXIzVTBVZU1FcVIzc3pGS0Z6QzhCdnRDTE14dk1DYmhEUkFtOUREYWtQMDkwTW1IMWg4S2FrdEVvajRSbFRHaU9VVlhfZWhxU2ptTUdZdXNZeXVUd3FWZ21YRlhsREM1eWllM3lrWGw1TWN1NUxZcEViZ0ZnLVBNVDVGUTQ1QjAyRG55bUlYbEZad1ZpNkZNeFc0TDRfUmJKV0lUSUFWMDlEVnlLemZsNVl2T1kxYWY5U0pQV0VaRG5oVDlqVFB0U0k2cXlPTkpSVUNfalJndDhrdWJITW51cThPYVZ2RWVXQ0czVEFuUGxVUXVIakRiSUxLaG16OVNJWHBIeVRkUTlBMHc9fEYKEvjdgKBHD3Zn9ScjC71jYwMeS2-zY75xQnmpqCSO -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/89.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxEV2NSaUl0YS1kY2t0YnpWZnRDd3dfM2M5LXE4ZFI5TDhIdUZ1R05PTmlJTHoxMlNJaGxzMFA5dkljRVJRb01zdnBla2ZQZTFZSXdoNUthNzJiZ3JSc18yc0tRTHVJZ2hfZkF0WkUyNXg5OE85TXFGcUFIWWU3dml0bDUxdWpQbFQwQnpPS2NYek5kODZla21XY2Nrb0ljTVdRN2JZaWlGX0pOSUNmMWxzWDA2ZjM5N3RoWnFkSU1BdG5aSFFkcGQteW1ZbUlJV2NUcExtcFdPVC1nRV9neEtuX0VSMExXYXJTN29KZ0R0ZUgyNWU2ZThtVFMyZlNHS19xZHg2Zk5NcVN6bmxTVHNKTm9xa1g2TEVZNjhnNmlrRm9rU2R2S3AwYXBBUFJYMzNKbGs2LUllX01lVkxLRWxWUU44cEtia1U5ZWpPd0NWZFBySWlxeENLSWF3bXd3cFYwR1lwdnJZUURzPXwywZdJd17BJ8hx6xNXtwzgG0iX456897xLcR5CCw15RQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/8ed2598d72255e78e1cdecba1a0a3b0cb4e4d8be-1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/af913337456/XGoServer/562530268968e315d73af025087b75ecc11af03a/threeLibs/gorilla/securecookie/fuzz/corpus/8ed2598d72255e78e1cdecba1a0a3b0cb4e4d8be-1 -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/9.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxXQXRMTzdlZUlRaUV2OGl6Z25YSTNtQUlSOFlsT3huQUExRy13dU1SM1l5Z29uOFFQRXg1Y2ZyQ3lHaFBhT3hJcVR5M2ZYdTF6RTlXaWd1Vy1fbE01X3pwbFRVZTdoT1FVUVNnRUJlZmJPT29KbzA3aUYyUUY0V3dJVnZzaWdWc3NBeDNHWXpQX0RwZHxGwb5E3feFV7AMx9UYDiBTrzOgKdxTfYxfFJS1UiMAXg== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/90.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxDUEl5WFB6dUV2ZEtCcy1MdXdaSERPQmgyOEN6Qm5xVUJuNlVFXzExMXpxeTl5amNCN05FRlhjQTkzaXFKOVdxdGptcncxcnNEXzlqV1pndUhVYjRyWV9mY3lUejZNcWJQWmdXaXBZd3hVSHhYMzJkbG9xNUdjWTJUSlJPSURGQUtrblU3YUg2b2UwbWI3TU80TFFSM1ktRkZLNVVaRjJON1pLWk9wbU9jd0NoeDdUZjFHaWFfeHFoNklJcnJ0YkFKZC1nbmVLTmxleXZ1VDlkZWIyZlNjai1CVUFMMzhtLS16SG9RQzdlTDQwazF1LU9UYllzZTRyWEg4X09YanlHZF9meGUyQ0UyLUthbEhMWGFKNVFBZDFfZzY1UWNHWWkzMTU4b3pCVmViXzJYQWFMd0c0UnE0alg3Ukd3enBNT0Z6cDVxaHo3R3c0PXwmpAcnVSB3YHD_PbruU0D3jg7IwrzBa5HtuCyeaCpsmQ== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/91.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxnNHlZNUxHdGlmQUU3T1VZWENOUGZVYWY1SVFPdXBHeDJZZE10amVCeEt3WVZwbktwYlNlNEJGdnk0X2RhRXd3RGlwVGZwNWZYcnJQRkNQQlVhNnlDNmZKa3NSTmRLd2FLZFljdHA4XzU2UEFmdVpDUjdtMzVtRjZfSHd2SDRsX0VnPT18TkfZK1nzBLYcMAQDkHIHtymNL6qBe7qQwUlIO9Znu7Q= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/92.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxXcS1wakRmNGdWRUhKb29EazlmVk1fS2lFUS1EUUt5dTdSeFpPLVQ2ZjIwaDRSeXBuOUJIMHFuSnd2TXREWU5vb2JybWZyNjNvLTQyVFZxN01BM09MZzA4QVhrNnV2bHp5WTZ4dUdDOC1XSDBrNmVxTjV1TzJSSGJVSXg0NFRkSHktZ0dSQmptTVdqSDdQRnFHRzJwalhCaTJjeElpMFp2a2U0dVNHMFBkMDZ5NG9yamhOcldpX2oxVW45d0xmV3VsbFhrTHFiaFZzZTMyVHV5RkFiMG5jRHo5OWFZWlIwc2hBbHl8GdvKOhv93iUO1tB87ROLC5-JCLe2y-R50Z5x_68YvRI= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/93.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxaRm5adFRCT3lweURrUWkyN09ab3M1N2hXcVIwd2QweG03NUNpZWx1a25BQmRVdy1LTnY2QktlVnpwSm9VbGpuRHNJUVdORk1qS2xqZl9FeWlFZWVvZHo3MndjaWN1eGNoT25hVWM4TEtWQnQ3QlNQeEx5R1F0bTFvUEg2a2wtMUFXdk82Z0RUdVUxa3pZekQ1R19XMDROSnlkTnhaZU9HOTh6ZG5UVHBycUNSRXBxVVJUSWZNTnZYRHl4UF96cVk3bFhRTUhlZ1lEVF9CeXY4cmM5QlFQYi1jSTllbHBCUTZ4aENNSjBUZGRQQk5lYTh1S0VzMEVIaFRPMUFxRmxsZVBCX1RxZmFKUERoS0ZxWi1pST18CZk1M1q6UbWa3CHGVtjBOeOMZHoe1hpdzHjAIaQ7cCo= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/94.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx1ZVNNc1hrMzQ0RmVDTUVpb01EaFlrT1BRdzhUQk9Oa3dIbWpmNE96OXB6X2F5ejVzUWlPdHppSDMxRVhrckhOMVA4MllBOWJTUXozWlFnanFoTDBpN3owc1VXX1FCai1ET29GS1A5Mjc2U2V5c2ZIQmJoUVIzWnNoYnY0TUdVcXU0M0Z4SGdKRHFQeVIzbzY2cXZGTVJBPXy-Le4iGLMrUB76xVGBZW3NOgKwpaYIku26_tyl93OhYA== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/95.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxQbFV1anRTQjZ0LVpjclVjM0JGeGhCTk5YZmx0QUh2QVR2MzMwa1NLVHhmc05hVndEMXU4TVQ1bXRGZ0o0UHE3Wnc3OHkwWVVjTFRfenhvYWZNWTBSMUlSVWxCYmcwNGRtUHA1czRtYjVIVkJBczFCM1RwRXpYTlZaUUFZWk1YZXJKRy1tUWQ0aGJBd0JQeEhWbmhvRTZQaGJtXzBsOVk9fKKCVRkqaBYWfLHjIU-cPjXaAV5uL4nHk2RI5jWj4jd1 -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/96.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxFUnRfR2doNzVNU2k0al8tUjk4ZEV3bEg0TVM0bXFGZGlKSVlLRVc0UWxjOHNiRWtBMWtKWUkyM21iN1Z1ZWtQaHlxYXJPZzRSbTdyZXZVQU1rLTRKZlhzWlVheDZiY1V3X29DSzZaMHFsMzlEeG1hN2xaQmNIWDktVE5tbVBvQVhyX3VLc0F4ZWkyN1FRUVByeTJRSW1VN0QteXJ8_in0ZHSD5jPWPsR4IcjuzTekZ_CGzQKgl3Zu5U0U8HM= -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/97.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnxWZ2p6d3JzUFFQNWpoNUFqakxTemdHaXNQM3pIQ1Z5aXp2bDhyUG10bk5qSVliNUlqRDdMMmp0VGpyeHdFanF4aE1LMzhaWUdUWnJlXzh0dEdRTzRUSWwza0pvYk9uRmZXOXNUclRoZnIwUVVwOTlPUnZUMDk2dDhTNUptZXg3aVhnZU5RVWw2YjhFUUwzNWxFeERpYlJFY01PMU0xcjljSUtMVVhoT1ZGU1RYdHZxRnJvVGJncXVBdUhDbHNUU3N2RnpZSEozVkw2cEJZSVE9fLwwrMqXB6g0r9yOzqZcTuiAc2OFEuK7AxEdTJGPoBgU -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/98.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3Mnx4WWZPcGdmeUE4LUZFX1pMMDBvdm1Gb1BobUtvVmpGdXVSUXJVZXJtZmtGbVJuRmtWOGI2dF90akdPbkNNam5IamtON3RDeU5yRUF0aGtuTDFRNlEtel91VEpYR281OEZVSXJjWEhoZ1dSX0hzTUNrV0hVZDlIbmxsLVNJWVk4aWJIM0p3OGc9fKEguloAVNTKMZbroD0NCrbjtVCLZt8rWBTnUYIX04Wh -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/99.sc: -------------------------------------------------------------------------------- 1 | MTQzOTkyMzI3MnwyemlkdjBTNVZrQ2Znd3ZpT2JkV19lSzAydHI2aDVUaGNTUGtSdGFLdlh0LU9DZ1Rlb3phWlludUw2RUswWUtfSzE0ckJXSlQ0WDBuYnExT2dtNlhhcFE4OEFiZTN2c1IySHdHWTNTQ0lZTlExZWp0MXhZUG5LNkozVWRORENpdmpUMk5ld2xtMURRVm5oa21Zck5OVFRWRXgtRlc3NFFzZk1pUHZGQkF3TW5nZHpiMS1tXzNiZUlpeFFwWk10S2l2bnVuV0NyR2Q5T0RtYzRDVDZva09aUjZCeW1Kd1lLNldiSWU5Y3ZzZVh0RUhLNFVVWXZSV0ZLYkdjcnJFV3VmVC1ESmktSy1ORlUyYW1uQmhGN2pKamhtRWFoNmd3R3dDVmEtUERxYTgtY2l0cmhVZ3BCYXpvdmpuNVQzMVRYdEkwMG1LVDRnbWpnWWpsZXFhUDdSZ2lmbHlrcXhzYUZPfP5o9bNi5YI5P5tq0ZQupy5n1-kqBqOl19ZMmTcZBCVN -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/9e34c6aae8f2c610f838fed4a5bab0da097c5135-2: -------------------------------------------------------------------------------- 1 | T 2 | 3 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/9eecb7ef73e5211948391dfc0c2d586e3822b028-1: -------------------------------------------------------------------------------- 1 | MnxBPXy- -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/adc83b19e793491b1c6ea0fd8b46cd9f32e592fc-2: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/ae3eb68089a89eb0a707c1de4b60edfeb6efc6e0-4: -------------------------------------------------------------------------------- 1 | J 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/bf3f814c978c0fc01c46c8d5b337b024697186cc-7: -------------------------------------------------------------------------------- 1 | = -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/c63ae6dd4fc9f9dda66970e827d13f7c73fe841c-1: -------------------------------------------------------------------------------- 1 | M -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/cebedf21435b903c4013fb902fb5b753e40a100e-8: -------------------------------------------------------------------------------- 1 | 1Q== 2 | 3 | 4 | 5 | = -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/da39a3ee5e6b4b0d3255bfef95601890afd80709-1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/af913337456/XGoServer/562530268968e315d73af025087b75ecc11af03a/threeLibs/gorilla/securecookie/fuzz/corpus/da39a3ee5e6b4b0d3255bfef95601890afd80709-1 -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/da5f06015af7bb09d3e421d086939d888f93271c-3: -------------------------------------------------------------------------------- 1 | T 2 | 3 | 4 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/df60b2ac6f14afbf990d366fa820ee4906f1436e-2: -------------------------------------------------------------------------------- 1 | 8Q== 2 | : -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/ec54cdb4f33539c9b852b89ebcc67b4ec31a2b01-5: -------------------------------------------------------------------------------- 1 | J 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/ec80b4b6f256eb0f29955c2bc000931d3b766c57-6: -------------------------------------------------------------------------------- 1 | = -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/f2c59710b18847b10176f19fb0426cb597bafef0-9: -------------------------------------------------------------------------------- 1 | 1Q== 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | = -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/f4de882915d90ead3b18371ab004abb24b3cd320-3: -------------------------------------------------------------------------------- 1 | 8Q== 2 | 3 | -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/f82d23aaf2be2cfc7aa8e323922208cdfce8d35a-3: -------------------------------------------------------------------------------- 1 | 2 |  -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/corpus/fa0f4cd7fee9eb65ebb95a3dc88b6fa198a2c986-1: -------------------------------------------------------------------------------- 1 | hYA== -------------------------------------------------------------------------------- /threeLibs/gorilla/securecookie/fuzz/gencorpus.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "io" 6 | "math/rand" 7 | "os" 8 | "reflect" 9 | "testing/quick" 10 | 11 | "github.com/XGoServer/threeLibs/gorilla/securecookie" 12 | ) 13 | 14 | var hashKey = []byte("very-secret12345") 15 | var blockKey = []byte("a-lot-secret1234") 16 | var s = securecookie.New(hashKey, blockKey) 17 | 18 | type Cookie struct { 19 | B bool 20 | I int 21 | S string 22 | } 23 | 24 | func main() { 25 | var c Cookie 26 | t := reflect.TypeOf(c) 27 | rnd := rand.New(rand.NewSource(0)) 28 | for i := 0; i < 100; i++ { 29 | v, ok := quick.Value(t, rnd) 30 | if !ok { 31 | panic("couldn't generate value") 32 | } 33 | encoded, err := s.Encode("fuzz", v.Interface()) 34 | if err != nil { 35 | panic(err) 36 | } 37 | f, err := os.Create(fmt.Sprintf("corpus/%d.sc", i)) 38 | if err != nil { 39 | panic(err) 40 | } 41 | _, err = io.WriteString(f, encoded) 42 | if err != nil { 43 | panic(err) 44 | } 45 | f.Close() 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /threeLibs/gorilla/sessions/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | 4 | matrix: 5 | include: 6 | - go: 1.3 7 | - go: 1.4 8 | - go: 1.5 9 | - go: 1.6 10 | - go: 1.7 11 | - go: tip 12 | allow_failures: 13 | - go: tip 14 | 15 | install: 16 | - # skip 17 | 18 | script: 19 | - go get -t -v ./... 20 | - diff -u <(echo -n) <(gofmt -d .) 21 | - go vet $(go list ./... | grep -v /vendor/) 22 | - go test -v -race ./... 23 | -------------------------------------------------------------------------------- /threeLibs/gorilla/sessions/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012 Rodrigo Moraes. All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without 4 | modification, are permitted provided that the following conditions are 5 | met: 6 | 7 | * Redistributions of source code must retain the above copyright 8 | notice, this list of conditions and the following disclaimer. 9 | * Redistributions in binary form must reproduce the above 10 | copyright notice, this list of conditions and the following disclaimer 11 | in the documentation and/or other materials provided with the 12 | distribution. 13 | * Neither the name of Google Inc. nor the names of its 14 | contributors may be used to endorse or promote products derived from 15 | this software without specific prior written permission. 16 | 17 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 | --------------------------------------------------------------------------------