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.
April 5, 2023

7 Fresh April Recipes to Explore this Month

When you think of April, you think of fresh, crisp, newly ripened foods. It is spring, after all – the time of renewal. Just as you see fresh, brightly-colored flowers blooming, fresh fruits and veggies are appearing everywhere, too.  Perhaps now would be a wonderful time for you to incorporate some of these into your…

Read More
April 1, 2023

7 Spring Pasta Recipes You’ll Love

Spring is the perfect time to get outdoors and take in all the natural vibrancy blossoming all around you. It is also the perfect time of year to enjoy light, delicious foods that nourish you without feeling weighed down. When you think of pasta, light and refreshing may not be the first two words you…

Read More
March 30, 2023

THOR Kitchen Featured in Dwell

  Home design and décor magazine Dwell featured THOR Kitchen’s new 36 Inch Built-In Induction Cooktop in a March online article and described it as, “Sleek, powerful and precise.” What can we say, we’re flattered. ? Click here to read more on Dwell.

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>SR9BC6DS9FC6AER1</RequestId><HostId>YkQaQSMwErxZZq5vteoOrNDfwoAX5RZym7ZT1IFHr0r9Hy1un1K4IVkd5zwPRFBmdRSXuXcssSEjHCTF70I+Rw==</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>SR9BC6DS9FC6AER1</RequestId><HostId>YkQaQSMwErxZZq5vteoOrNDfwoAX5RZym7ZT1IFHr0r9Hy1un1K4IVkd5zwPRFBmdRSXuXcssSEjHCTF70I+Rw==</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