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.
July 26, 2022

Perfect Shrimp Cocktail Recipe by Chef Brad Miller

This Shrimp Cocktail recipe was written by celebrity chef and THOR Kitchen brand ambassador Brad Miller. Chef Miller will be firing things up in the kitchen, using his own suite of THOR Kitchen appliances to create exclusive recipes! Shrimp cocktail is an old familiar friend for me. Growing up, the only time I could get…

Read More
July 25, 2022

Inside Chef Brad Miller’s THOR Kitchen

We’ve teamed up with celebrity chef Brad Miller for an epic partnership! Miller will be firing things up as our newest brand ambassador, using his own suite of THOR Kitchen appliances to create exclusive recipes and offer giveaways to fans and foodies alike. Check out what he’s got with this exclusive kitchen sneak peek. Read…

Read More
July 18, 2022

Transform Your Backyard with an Outdoor Kitchen Suite

Imagine walking into your backyard and feeling as though you have been transported into another world. A tropical escape, serene gardens, or even an Irish pub or tiki bar. Your backyard is an extension of your home – don’t let this space go to waste, why not transform your backyard into something extraordinary? Your opportunities…

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>G7TZHB7P6ZZHB7S4</RequestId><HostId>6W/xekGtk2x0DYsMX828gjtjm/gucXAnP0mQHSW9dMIc3c6OHrmefsm1mfKwcg279AlwA3QdRFti6T8vo6qYBlZC7p2rWJA23P5AZks58jE=</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>G7TZHB7P6ZZHB7S4</RequestId><HostId>6W/xekGtk2x0DYsMX828gjtjm/gucXAnP0mQHSW9dMIc3c6OHrmefsm1mfKwcg279AlwA3QdRFti6T8vo6qYBlZC7p2rWJA23P5AZks58jE=</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