Due to an increased volume of orders for the holiday season, please note that processing and shipping times have been extended by a week. Please see shipping policy for standard processing times.
August 14, 2023

THOR vs Forno Ranges

If you’re interested in upgrading to a professional kitchen range, you may be wondering … THOR vs. Forno? When it comes to professional-grade kitchen appliances, THOR Kitchen and Forno offer compelling choices. THOR excels in delivering robust, stainless steel appliances that combine premium power with stylish design, ideal for home chefs who want a professional…

Read More
August 10, 2023

The Ultimate Stainless Steel Outdoor Kitchen

It feels good to spend time outdoors in the fresh air, especially when it is in your own backyard. You can sit by the fire pit, go for a swim, or just relax as the sun sets.  Taking the time to create a welcoming patio and backyard oasis makes the perfect space to spend time…

Read More
August 1, 2023

THOR vs ZLINE Ranges

Is it time to invest in a new kitchen range? Most quests for a new range begin with a visit to an appliance or home store — or, at the very least, a Google search with terms like, what is the best range for my kitchen? If you have done any of these things, you…

Read More

Fatal error: Uncaught exception 'Aws\S3\Exception\S3Exception' with message 'Error executing "ListObjectsV2" on "https://thorkitchenstage.s3.us-west-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F"; AWS HTTP error: Client error: `GET https://thorkitchenstage.s3.us-west-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F` resulted in a `403 Forbidden` response: <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>User: arn:aws:iam::905418160207:user/s3a (truncated...) AccessDenied (client): User: arn:aws:iam::905418160207:user/s3access_stage is not authorized to perform: s3:ListBucket on resource: "arn:aws:s3:::thorkitchenstage" because no identity-based policy allows the s3:ListBucket action - <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>User: arn:aws:iam::905418160207:user/s3access_stage is not authorized to perform: s3:ListBucket on resource: "arn:aws:s3:::thorkitchenstage" because no identity-based policy allows the s3:ListBucket action</Message><RequestId>HBR71P1B60R5XW72</RequestId><HostId>3r2Mor2cC7e5Pkp5YYiP2+JedBnglH2s+A0Y3ap5LTYkNnCZmCQvOzcXnmYi1kxVddcWFBCQj2o=</HostId></Error>' GuzzleHttp\Exception\ClientException: Client error: `GET https://thorkitchenstage.s3.us-west-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F` resulted in a `403 Forbidden` response: <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>User: arn:aws:iam::905418160207:user/s3a (truncated...) in /var/www/stagesite/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113 Stack trace: #0 /var/www/stagesite/vendor/guzzlehttp/guzzle/src/Middleware.php(72): GuzzleHttp\Exception\RequestException::create() #1 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(209): GuzzleHttp\Middleware::GuzzleHttp\{closure}() #2 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler() #3 /var/www/stagesite/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #4 /var/www/stagesite/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run() #5 /var/www/stagesite/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick() #6 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute() #7 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn() #8 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #9 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #10 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #11 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #12 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending() #13 /var/www/stagesite/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait() #14 /var/www/stagesite/vendor/aws/aws-sdk-php/src/ResultPaginator.php(139): Aws\AwsClient->execute() #15 /var/www/stagesite/vendor/aws/aws-sdk-php/src/functions.php(52): Aws\ResultPaginator->valid() #16 /var/www/stagesite/vendor/aws/aws-sdk-php/src/functions.php(69): Aws\map() #17 [internal function]: Aws\flatmap() #18 /var/www/stagesite/wp-content/plugins/s3-uploads/inc/class-stream-wrapper.php(695): Generator->valid() #19 [internal function]: S3_Uploads\Stream_Wrapper->dir_readdir() #20 /var/www/stagesite/wp-content/plugins/contact-form-7/includes/file.php(362): readdir() #21 /var/www/stagesite/wp-includes/class-wp-hook.php(322): wpcf7_cleanup_upload_files() #22 /var/www/stagesite/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #23 /var/www/stagesite/wp-includes/plugin.php(517): WP_Hook->do_action() #24 /var/www/stagesite/wp-includes/load.php(1280): do_action() #25 [internal function]: shutdown_action_hook() #26 {main} Next Aws\S3\Exception\S3Exception: Error executing "ListObjectsV2" on "https://thorkitchenstage.s3.us-west-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F"; AWS HTTP error: Client error: `GET https://thorkitchenstage.s3.us-west-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F` resulted in a `403 Forbidden` response: <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>User: arn:aws:iam::905418160207:user/s3a (truncated...) AccessDenied (client): User: arn:aws:iam::905418160207:user/s3access_stage is not authorized to perform: s3:ListBucket on resource: "arn:aws:s3:::thorkitchenstage" because no identity-based policy allows the s3:ListBucket action - <?xml version="1.0" encoding="UTF-8"?> <Error><Code>AccessDenied</Code><Message>User: arn:aws:iam::905418160207:user/s3access_stage is not authorized to perform: s3:ListBucket on resource: "arn:aws:s3:::thorkitchenstage" because no identity-based policy allows the s3:ListBucket action</Message><RequestId>HBR71P1B60R5XW72</RequestId><HostId>3r2Mor2cC7e5Pkp5YYiP2+JedBnglH2s+A0Y3ap5LTYkNnCZmCQvOzcXnmYi1kxVddcWFBCQj2o=</HostId></Error> in /var/www/stagesite/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php:196 Stack trace: #0 /var/www/stagesite/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php(98): Aws\WrappedHttpHandler->parseError() #1 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(209): Aws\WrappedHttpHandler->Aws\{closure}() #2 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(174): GuzzleHttp\Promise\Promise::callHandler() #3 /var/www/stagesite/vendor/guzzlehttp/promises/src/RejectedPromise.php(49): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #4 /var/www/stagesite/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\RejectedPromise::GuzzleHttp\Promise\{closure}() #5 /var/www/stagesite/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run() #6 /var/www/stagesite/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick() #7 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute() #8 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn() #9 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #10 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #11 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #12 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #13 /var/www/stagesite/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending() #14 /var/www/stagesite/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait() #15 /var/www/stagesite/vendor/aws/aws-sdk-php/src/ResultPaginator.php(139): Aws\AwsClient->execute() #16 /var/www/stagesite/vendor/aws/aws-sdk-php/src/functions.php(52): Aws\ResultPaginator->valid() #17 /var/www/stagesite/vendor/aws/aws-sdk-php/src/functions.php(69): Aws\map() #18 [internal function]: Aws\flatmap() #19 /var/www/stagesite/wp-content/plugins/s3-uploads/inc/class-stream-wrapper.php(695): Generator->valid() #20 [internal function]: S3_Uploads\Stream_Wrapper->dir_readdir() #21 /var/www/stagesite/wp-content/plugins/contact-form-7/includes/file.php(362): readdir() #22 /var/www/stagesite/wp-includes/class-wp-hook.php(322): wpcf7_cleanup_upload_files() #23 /var/www/stagesite/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #24 /var/www/stagesite/wp-includes/plugin.php(517): WP_Hook->do_action() #25 /var/www/stagesite/wp-includes/load.php(1280): do_action() #26 [internal function]: shutdown_action_hook() #27 {main} thrown in /var/www/stagesite/vendor/aws/aws-sdk-php/src/WrappedHttpHandler.php on line 196