nghttp2/src
Amir Pakdel 1c31213aef More graceful stop of nghttp2::asio_http2::server::http2
Explicit io_service::stop() will prevent running streams from
finishing their task. That means if there are already reposnes
that we have called end(std::string) on them and they have not
finished sending back their data, they will be closed with a
NGHTTP2_INTERNAL_ERROR
Instead, we can stop accepting connections and destroy all
io_service::work objects to signals end of work.
2017-02-09 23:34:19 -05:00
..
includes clang-format-3.9 2016-10-15 18:36:04 +09:00
.gitignore Refactor .gitignore files 2015-03-29 18:40:37 +09:00
CMakeLists.txt Add libc-ares detection to cmake 2016-12-10 22:40:18 +09:00
HtmlParser.cc clang-format 2017-02-04 11:29:10 +09:00
HtmlParser.h nghttp: Remove --dep-idle option 2015-04-17 22:24:06 +09:00
HttpServer.cc src: Fix assertion error with boringssl 2017-01-02 11:48:38 +09:00
HttpServer.h nghttpd: Add --encoder-header-table-size option 2016-09-17 22:38:05 +09:00
Makefile.am Use pkg-config to detect libxml2 2016-12-18 00:20:30 +09:00
allocator.h nghttpx: Realloc header buffer 2016-10-01 22:52:02 +09:00
app_helper.cc clang-format-3.9 2016-10-15 18:36:04 +09:00
app_helper.h Add nghttp2_error_callback to tell application human readable error message 2016-03-13 18:22:52 +09:00
asio_client_request.cc asio: Add client::request::write_trailer() 2015-03-07 23:04:31 +09:00
asio_client_request_impl.cc asio: client: Limit incoming response header field buffer size 2016-02-11 23:20:31 +09:00
asio_client_request_impl.h asio: client: Limit incoming response header field buffer size 2016-02-11 23:20:31 +09:00
asio_client_response.cc
asio_client_response_impl.cc asio: client: Limit incoming response header field buffer size 2016-02-11 23:20:31 +09:00
asio_client_response_impl.h asio: client: Limit incoming response header field buffer size 2016-02-11 23:20:31 +09:00
asio_client_session.cc asio: client: Fix connect timeout does not work, return from cb if session stopped 2016-02-06 11:05:13 +09:00
asio_client_session_impl.cc clang-format 2017-02-09 21:00:47 +09:00
asio_client_session_impl.h clang-format-3.9 2016-10-15 18:36:04 +09:00
asio_client_session_tcp_impl.cc Holding more shared_ptrs instead of raw ptrs to make sure called objects don't get deleted. 2017-02-09 21:00:11 +09:00
asio_client_session_tcp_impl.h clang-format-3.9 2016-10-15 18:36:04 +09:00
asio_client_session_tls_impl.cc clang-format 2017-02-09 21:00:47 +09:00
asio_client_session_tls_impl.h clang-format-3.9 2016-10-15 18:36:04 +09:00
asio_client_stream.cc
asio_client_stream.h
asio_client_tls_context.cc asio: ALPN support 2015-11-07 22:53:25 +09:00
asio_client_tls_context.h
asio_common.cc clang-format-3.9 2016-10-15 18:36:04 +09:00
asio_common.h util: Remove unused functions; rename regacy camel-case function names 2015-11-28 00:42:51 +09:00
asio_io_service_pool.cc More graceful stop of nghttp2::asio_http2::server::http2 2017-02-09 23:34:19 -05:00
asio_io_service_pool.h More graceful stop of nghttp2::asio_http2::server::http2 2017-02-09 23:34:19 -05:00
asio_server.cc More graceful stop of nghttp2::asio_http2::server::http2 2017-02-09 23:34:19 -05:00
asio_server.h asio: Rename http2::get_io_services() as http2::io_services() 2015-12-25 21:06:25 +09:00
asio_server_connection.h asio: Fix bug that server event loop breaks with exception 2016-03-04 22:43:36 +09:00
asio_server_http2.cc asio: Rename http2::get_io_services() as http2::io_services() 2015-12-25 21:06:25 +09:00
asio_server_http2_handler.cc close_stream erases from streams_ while it's being iterated over. 2017-02-03 01:36:18 -06:00
asio_server_http2_handler.h asio: Avoid repeated call of io_service::post 2016-10-20 22:12:31 +09:00
asio_server_http2_impl.cc Enable ConstructorInitializerAllOnOneLineOrOnePerLine for better diff 2016-01-27 21:14:07 +09:00
asio_server_http2_impl.h asio: Rename http2::get_io_services() as http2::io_services() 2015-12-25 21:06:25 +09:00
asio_server_request.cc libnghttp2_asio: Optimized remote endpoint interface to const ref where possible 2015-12-19 14:08:15 +01:00
asio_server_request_handler.cc src: Add missing mandatory SP after status code 2016-11-04 02:19:37 +09:00
asio_server_request_handler.h
asio_server_request_impl.cc asio: server: Limit incoming request header field buffer size 2016-02-11 23:20:31 +09:00
asio_server_request_impl.h asio: server: Limit incoming request header field buffer size 2016-02-11 23:20:31 +09:00
asio_server_response.cc asio: Add server::response::write_trailer() 2015-03-07 19:26:42 +09:00
asio_server_response_impl.cc Enable ConstructorInitializerAllOnOneLineOrOnePerLine for better diff 2016-01-27 21:14:07 +09:00
asio_server_response_impl.h Fix compile error "chosen constructor is explicit in copy-initialization" 2015-03-14 15:54:55 +09:00
asio_server_serve_mux.cc src: Refactor using StringRef, simplify function parameters 2016-03-04 00:26:59 +09:00
asio_server_serve_mux.h
asio_server_stream.cc
asio_server_stream.h
asio_server_tls_context.cc asio: ALPN support 2015-11-07 22:53:25 +09:00
asio_server_tls_context.h
base64.h base64: Assert that input is multiple of 4 2016-10-03 22:09:45 +09:00
base64_test.cc nghtpx: Add BlockAllocator version of base64 2016-10-02 22:28:43 +09:00
base64_test.h src: Faster base64 2016-01-27 15:31:09 +09:00
buffer.h nghttpx: Add shared session cache using memcached 2015-07-26 23:33:06 +09:00
buffer_test.cc
buffer_test.h Check more headers and funcs 2015-05-13 23:29:20 +09:00
ca-config.json nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
ca.nghttp2.org-key.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
ca.nghttp2.org.csr nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
ca.nghttp2.org.csr.json nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
ca.nghttp2.org.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
comp_helper.c Use -fvisibility=hidden for internal functions 2015-10-23 00:08:15 +09:00
comp_helper.h Use -fvisibility=hidden for internal functions 2015-10-23 00:08:15 +09:00
deflatehd.cc src: Add constexpr to long_options 2017-01-09 19:28:00 +09:00
h2load.cc h2load: Fix wrong req_stat updates 2017-01-26 00:26:35 +09:00
h2load.h h2load: Explicitly count the number of requests left and inflight 2017-01-26 00:16:12 +09:00
h2load_http1_session.cc h2load: Explicitly count the number of requests left and inflight 2017-01-26 00:16:12 +09:00
h2load_http1_session.h h2load: Implement HTTP/1 upload 2016-06-12 17:42:12 +09:00
h2load_http2_session.cc h2load: Add --header-table-size and --encoder-header-table-size options 2016-10-06 22:26:31 +09:00
h2load_http2_session.h h2load: Implement HTTP/1 upload 2016-06-12 17:42:12 +09:00
h2load_session.h h2load: Implement HTTP/1 upload 2016-06-12 17:42:12 +09:00
h2load_spdy_session.cc h2load: Fix incorrect return value from spdylay_send_callback 2017-01-08 17:32:35 +09:00
h2load_spdy_session.h h2load: Implement HTTP/1 upload 2016-06-12 17:42:12 +09:00
http-parser.patch
http2.cc nghttpx: Accept and ignore content-length: 0 in 204 response for now 2016-12-03 14:57:48 +09:00
http2.h nghttpx: Accept and ignore content-length: 0 in 204 response for now 2016-12-03 14:57:48 +09:00
http2_test.cc nghttpx: Parse te header field a bit more properly 2016-11-07 22:47:48 +09:00
http2_test.h nghttpx: Parse te header field a bit more properly 2016-11-07 22:47:48 +09:00
inflatehd.cc src: Add constexpr to long_options 2017-01-09 19:28:00 +09:00
libevent_util.cc Enable ConstructorInitializerAllOnOneLineOrOnePerLine for better diff 2016-01-27 21:14:07 +09:00
libevent_util.h
libnghttp2_asio.pc.in
memchunk.h nghttpx: Use Memchunk based read buffer for frontend connection 2017-01-08 23:20:14 +09:00
memchunk_test.cc clang-format-3.9 2016-10-15 18:36:04 +09:00
memchunk_test.h nghttpx: Rewrite TLS async handshake using memchunk buffers 2015-08-13 00:42:59 +09:00
network.h src: Rename and rewrite numeric_hostport as to_numeric_addr and support AF_UNIX path 2016-02-21 15:28:11 +09:00
nghttp.cc nghttp: Use std::unique_ptr for html_parser 2017-01-18 00:34:39 +09:00
nghttp.h nghttp: Use std::unique_ptr for html_parser 2017-01-18 00:34:39 +09:00
nghttp2_config.h Remove monotonic_clock replacement macro for gcc-4.6 2015-07-29 21:19:33 +09:00
nghttp2_gzip.c
nghttp2_gzip.h
nghttp2_gzip_test.c More warning flags for --enable-werror 2015-09-23 16:49:45 +09:00
nghttp2_gzip_test.h Check more headers and funcs 2015-05-13 23:29:20 +09:00
nghttpd.cc src: Add constexpr to long_options 2017-01-09 19:28:00 +09:00
shrpx-unittest.cc nghttpx: Select certificate by client's supported signature algo 2017-02-04 23:37:24 +09:00
shrpx.cc nghttpx: Select certificate by client's supported signature algo 2017-02-04 23:37:24 +09:00
shrpx.h Compile with Android NDK r13b using clang 2017-01-23 00:32:51 +09:00
shrpx_accept_handler.cc nghttpx: Reduce TTFB with large number of incoming connections 2016-06-25 11:50:33 +09:00
shrpx_accept_handler.h Rename FrontendAddr as UpstreamAddr 2016-02-07 17:51:53 +09:00
shrpx_api_downstream_connection.cc nghttpx: Don't call get_config() repeatedly 2016-10-08 11:37:18 +09:00
shrpx_api_downstream_connection.h nghttpx: Add access log variable for backend host and port 2016-08-05 00:04:47 +09:00
shrpx_client_handler.cc nghttpx: Add frontend-tls parameter to backend to require client TLS 2017-01-28 22:19:14 +09:00
shrpx_client_handler.h nghttpx: Fix access.log timestamp 2017-01-11 20:47:17 +09:00
shrpx_config.cc nghttpx: Add frontend-tls parameter to backend to require client TLS 2017-01-28 22:19:14 +09:00
shrpx_config.h nghttpx: Add frontend-tls parameter to backend to require client TLS 2017-01-28 22:19:14 +09:00
shrpx_config_test.cc nghttpx: Use StringRef for tls.ticket.files 2016-10-03 22:09:45 +09:00
shrpx_config_test.h Initial HTTP/1.1 capability. Add npn-list option to h2load. Make NPN/ALPN more runtime dependent 2015-09-17 14:49:27 +00:00
shrpx_connect_blocker.cc nghttpx: Use faster version of power 2016-06-27 22:42:28 +09:00
shrpx_connect_blocker.h nghttpx: Receive reference of std::mt19937, not making a copy 2016-06-16 21:11:39 +09:00
shrpx_connection.cc nghttpx: Add detailed TLS connection logging 2017-01-09 23:32:35 +09:00
shrpx_connection.h nghttpx: Add client-no-http2-cipher-black-list option 2017-01-08 22:33:19 +09:00
shrpx_connection_handler.cc Merge branch 'nghttpx-certs-per-sigalg' 2017-02-08 23:36:23 +09:00
shrpx_connection_handler.h nghttpx: Select certificate by client's supported signature algo 2017-02-04 23:37:24 +09:00
shrpx_dns_resolver.cc nghttpx: Handle c-ares success without result 2017-01-03 14:35:05 +09:00
shrpx_dns_resolver.h nghttpx: Lookup backend host name dynamically 2016-12-10 21:09:50 +09:00
shrpx_dns_tracker.cc nghttpx: Set DNS cache expire date for error and ok statuses only 2016-12-11 11:49:24 +09:00
shrpx_dns_tracker.h nghttpx: Periodically remove expired DNS cache entries 2016-12-11 10:42:54 +09:00
shrpx_downstream.cc nghttpx: Add --accesslog-write-early option 2017-01-13 22:12:21 +09:00
shrpx_downstream.h nghttpx: Add --accesslog-write-early option 2017-01-13 22:12:21 +09:00
shrpx_downstream_connection.cc nghttpx: Separate Downstream address group from config to runtime 2016-02-28 00:19:18 +09:00
shrpx_downstream_connection.h nghttpx: Add access log variable for backend host and port 2016-08-05 00:04:47 +09:00
shrpx_downstream_connection_pool.cc nghttpx: Close and disallow h1 backend connection on backend replacement 2016-06-04 12:16:31 +09:00
shrpx_downstream_connection_pool.h nghttpx: Close and disallow h1 backend connection on backend replacement 2016-06-04 12:16:31 +09:00
shrpx_downstream_queue.cc nghttpx: Avoid extra allocation on look up host key 2016-10-18 22:19:53 +09:00
shrpx_downstream_queue.h nghttpx: Avoid extra allocation on look up host key 2016-10-18 22:19:53 +09:00
shrpx_downstream_test.cc nghttpx: Realloc header buffer 2016-10-01 22:52:02 +09:00
shrpx_downstream_test.h nghttpx: Make a copy before adding header to Downstream 2016-03-12 21:12:26 +09:00
shrpx_dual_dns_resolver.cc nghttpx: Just return DNS_STATUS_ERROR 2016-12-11 10:39:19 +09:00
shrpx_dual_dns_resolver.h nghttpx: Lookup backend host name dynamically 2016-12-10 21:09:50 +09:00
shrpx_error.h nghttpx: Retry h1 backend request if first write fails 2016-12-25 22:19:51 +09:00
shrpx_exec.cc Compile with Android NDK r13b using clang 2017-01-23 00:32:51 +09:00
shrpx_exec.h nghttpx: Refactor ocsp command execution 2016-10-08 15:22:11 +09:00
shrpx_health_monitor_downstream_connection.cc nghttpx: Add access log variable for backend host and port 2016-08-05 00:04:47 +09:00
shrpx_health_monitor_downstream_connection.h nghttpx: Add access log variable for backend host and port 2016-08-05 00:04:47 +09:00
shrpx_http.cc src: Add missing mandatory SP after status code 2016-11-04 02:19:37 +09:00
shrpx_http.h nghttpx: Add custom error pages 2016-03-19 23:41:21 +09:00
shrpx_http2_downstream_connection.cc nghttpx: Parse te header field a bit more properly 2016-11-07 22:47:48 +09:00
shrpx_http2_downstream_connection.h nghttpx: Add access log variable for backend host and port 2016-08-05 00:04:47 +09:00
shrpx_http2_session.cc nghttpx: Add --accesslog-write-early option 2017-01-13 22:12:21 +09:00
shrpx_http2_session.h nghttpx: Don't write again after failure 2016-12-26 00:35:38 +09:00
shrpx_http2_upstream.cc nghttpx: Fix access.log timestamp 2017-01-11 20:47:17 +09:00
shrpx_http2_upstream.h nghttpx: Handle h2 backend error per Downstream 2016-09-14 22:18:38 +09:00
shrpx_http_downstream_connection.cc nghttpx: Add --accesslog-write-early option 2017-01-13 22:12:21 +09:00
shrpx_http_downstream_connection.h nghttpx: Rename confusing names in HttpDownstreamConnection 2017-01-08 23:09:00 +09:00
shrpx_http_test.cc nghttpx: Rewrite create_forwarded to use BlockAllocator 2016-03-12 21:13:09 +09:00
shrpx_http_test.h src: Rewrite http:create_via_header_value 2016-03-12 21:13:09 +09:00
shrpx_https_upstream.cc nghttpx: Use stack allocated buffer instead of making std::string 2017-01-29 22:11:33 +09:00
shrpx_https_upstream.h nghttpx: Handle h2 backend error per Downstream 2016-09-14 22:18:38 +09:00
shrpx_io_control.cc
shrpx_io_control.h
shrpx_live_check.cc nghttpx: Lookup backend host name dynamically 2016-12-10 21:09:50 +09:00
shrpx_live_check.h nghttpx: Lookup backend host name dynamically 2016-12-10 21:09:50 +09:00
shrpx_log.cc nghttpx: Define the maximum number of digits in uint64_t 2017-01-22 22:33:52 +09:00
shrpx_log.h nghttpx: Remove field from LogSpec which can be got from Downstream 2017-01-11 22:30:12 +09:00
shrpx_log_config.cc nghttpx: Fix access.log timestamp 2017-01-11 20:47:17 +09:00
shrpx_log_config.h nghttpx: Fix access.log timestamp 2017-01-11 20:47:17 +09:00
shrpx_memcached_connection.cc nghttpx: Remove redundant check 2016-11-26 22:34:24 +09:00
shrpx_memcached_connection.h nghttpx: Use StringRef for sni_name_ 2016-10-01 22:54:17 +09:00
shrpx_memcached_dispatcher.cc nghttpx: Retry memcached connection 2016-07-08 23:41:53 +09:00
shrpx_memcached_dispatcher.h nghttpx: Retry memcached connection 2016-07-08 23:41:53 +09:00
shrpx_memcached_request.h nghttpx: Add shared session cache using memcached 2015-07-26 23:33:06 +09:00
shrpx_memcached_result.h nghttpx: Add TLS ticket key sharing among nghttpx instances using memcached 2015-07-28 00:54:44 +09:00
shrpx_mruby.cc nghttpx: Fix mruby compile error, clean up add_header interface 2016-02-20 23:30:02 +09:00
shrpx_mruby.h nghttpx: Fix mruby compile error, clean up add_header interface 2016-02-20 23:30:02 +09:00
shrpx_mruby_module.cc nghttpx: Add custom memory allocator mainly for header related objects 2016-03-09 21:16:28 +09:00
shrpx_mruby_module.h nghttpx: Add custom memory allocator mainly for header related objects 2016-03-09 21:16:28 +09:00
shrpx_mruby_module_env.cc nghttpx: Add tls_sni to mruby Nghttpx::Env class 2016-09-10 22:08:34 +09:00
shrpx_mruby_module_env.h nghttpx: Rewrite API; introduce Env object 2015-09-05 00:53:42 +09:00
shrpx_mruby_module_request.cc nghttpx: Header key and value must be string in mruby script 2016-11-03 22:58:45 +09:00
shrpx_mruby_module_request.h nghttpx: Split up request class definition to dedicated files 2015-09-02 22:38:57 +09:00
shrpx_mruby_module_response.cc nghttpx: Send 1xx non-final response using mruby script 2017-02-08 00:30:03 +09:00
shrpx_mruby_module_response.h nghttpx: Add Response mruby object 2015-09-03 00:40:14 +09:00
shrpx_process.h nghttpx: Fix improper signal handling 2015-09-24 23:43:24 +09:00
shrpx_rate_limit.cc nghttpx: Fix assertion error in libev ev_io_start 2017-01-03 16:43:49 +09:00
shrpx_rate_limit.h nghttpx: Rewrite TLS async handshake using memchunk buffers 2015-08-13 00:42:59 +09:00
shrpx_router.cc nghttpx: Select certificate by client's supported signature algo 2017-02-04 23:37:24 +09:00
shrpx_router.h nghttpx: Select certificate by client's supported signature algo 2017-02-04 23:37:24 +09:00
shrpx_router_test.cc nghttpx: Handle edge case wildcard pattern and add tests 2016-06-11 13:33:59 +09:00
shrpx_router_test.h nghttpx: Handle edge case wildcard pattern and add tests 2016-06-11 13:33:59 +09:00
shrpx_signal.cc nghttpx: Reload configuration with SIGHUP 2016-07-31 15:57:41 +09:00
shrpx_signal.h nghttpx: Reload configuration with SIGHUP 2016-07-31 15:57:41 +09:00
shrpx_spdy_upstream.cc nghttpx: Fix access.log timestamp 2017-01-11 20:47:17 +09:00
shrpx_spdy_upstream.h nghttpx: Handle h2 backend error per Downstream 2016-09-14 22:18:38 +09:00
shrpx_ssl.cc nghttpx: Select certificate by client's supported signature algo 2017-02-04 23:37:24 +09:00
shrpx_ssl.h nghttpx: Select certificate by client's supported signature algo 2017-02-04 23:37:24 +09:00
shrpx_ssl_test.cc nghttpx: Select certificate by client's supported signature algo 2017-02-04 23:37:24 +09:00
shrpx_ssl_test.h nghttpx: Select certificate by client's supported signature algo 2017-02-04 23:37:24 +09:00
shrpx_upstream.h nghttpx: Handle h2 backend error per Downstream 2016-09-14 22:18:38 +09:00
shrpx_worker.cc nghttpx: Fix crash on SIGHUP with multi thread configuration 2017-02-08 22:14:23 +09:00
shrpx_worker.h nghttpx: Add frontend-tls parameter to backend to require client TLS 2017-01-28 22:19:14 +09:00
shrpx_worker_process.cc Compile with Android NDK r13b using clang 2017-01-23 00:32:51 +09:00
shrpx_worker_process.h nghttpx: Split monolithic one process into control and worker processes 2015-09-18 23:28:26 +09:00
shrpx_worker_test.cc nghttpx: Use BlockAllocator in match_downstream_addr_group 2016-06-11 18:41:43 +09:00
shrpx_worker_test.h src: Fix tests 2016-02-29 00:05:32 +09:00
ssl.cc src: Make DEFAULT_CIPHER_LIST constexpr char[] 2017-01-09 14:42:40 +09:00
ssl.h src: Make DEFAULT_CIPHER_LIST constexpr char[] 2017-01-09 14:42:40 +09:00
ssl_compat.h Fix -Wexpansion-to-defined warning with clang-3.9 2016-09-19 22:07:03 +09:00
template.h Add constexpr to StringRef(const CharT *, size_t) 2017-01-09 21:15:53 +09:00
template_test.cc Make ImmutableString(const char*) explicit 2016-08-26 22:40:59 +09:00
template_test.h src: Add tests for ImmutableString and StringRef 2016-01-17 16:32:55 +09:00
test.example.com-key.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.example.com.csr nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.example.com.csr.json nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.example.com.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.nghttp2.org-key.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.nghttp2.org.csr nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.nghttp2.org.csr.json nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
test.nghttp2.org.pem nghttpx: Rewrite CertLookupTree using Router 2016-06-25 22:52:01 +09:00
timegm.c Fix build error with Android NDK 2015-07-30 22:57:25 +09:00
timegm.h src: Don't use struct tm.tm_yday from strptime 2015-07-19 17:14:25 +09:00
util.cc nghttp: Take into account scheme and port when parsing HTML links 2017-01-18 00:29:51 +09:00
util.h nghttpx: Define the maximum number of digits in uint64_t 2017-01-22 22:33:52 +09:00
util_test.cc nghttpx: Add --psk-secret option to enable PSK in frontend connection 2017-01-08 00:35:54 +09:00
util_test.h nghttpx: Add --psk-secret option to enable PSK in frontend connection 2017-01-08 00:35:54 +09:00
xsi_strerror.c src: Add XSI-compliant version strerror_r 2016-10-16 22:47:56 +09:00
xsi_strerror.h xsi_strerror: Use stddef.h so that we can use size_t 2016-10-19 23:50:28 +09:00