node:internal/errors:405:5
new NodeError
node:_http_client:183:13
new ClientRequest
node:https:358:10
Object.request
node_modules/follow-redirects/index.js:296:24
RedirectableRequest._performRequest
this._options.agent = this._options.agents[scheme];
}
// Create the native request and set up its event handlers
var request = this._currentRequest =
nativeProtocol.request(this._options, this._onNativeResponse);
request._redirectable = this;
for (var event of events) {
request.on(event, eventHandlers[event]);
}
node_modules/follow-redirects/index.js:69:8
new RedirectableRequest
this._onNativeResponse = function (response) {
self._processResponse(response);
};
// Perform the first request
this._performRequest();
}
RedirectableRequest.prototype = Object.create(Writable.prototype);
RedirectableRequest.prototype.abort = function () {
destroyRequest(this._currentRequest);
node_modules/follow-redirects/index.js:535:14
Object.request
options.hostname = "::1";
}
assert.equal(options.protocol, protocol, "protocol mismatch");
debug("options", options);
return new RedirectableRequest(options, callback);
}
// Executes a GET request, following redirects
function get(input, options, callback) {
var wrappedRequest = wrappedProtocol.request(input, options, callback);
node_modules/axios/lib/adapters/http.js:242:25
dispatchHttpRequest
if (config.insecureHTTPParser) {
options.insecureHTTPParser = config.insecureHTTPParser;
}
// Create the request
var req = transport.request(options, function handleResponse(res) {
if (req.aborted) return;
// uncompress the response body transparently if required
var stream = res;
node_modules/axios/lib/adapters/http.js:48:10
httpAdapter
};
}
/*eslint consistent-return:0*/
module.exports = function httpAdapter(config) {
return new Promise(function dispatchHttpRequest(resolvePromise, rejectPromise) {
var onCanceled;
function done() {
if (config.cancelToken) {
config.cancelToken.unsubscribe(onCanceled);
}
node_modules/axios/lib/core/dispatchRequest.js:58:10
dispatchRequest
}
);
var adapter = config.adapter || defaults.adapter;
return adapter(config).then(function onAdapterResolution(response) {
throwIfCancellationRequested(config);
// Transform response data
response.data = transformData.call(
config,
pages/product/_slug/_id.vue:8:
async asyncData
<!-- <button @click="$nuxt.$emit('eventName', 'nice payload')">nice</button> -->
<div class="bg-white">
<div class="pt-6">
<BreadcrumbSmall :page_title="$i18n.locale == 'en' ? product.name : product.o_name" :second_step_text="$i18n.locale == 'en' ? category_name : category_o_name" :second_step_link="product.categories.length ? ('/category/' + product.categories[0].id + '/' + product.categories[0].slug) : null" :page_link="'/product/' + product.slug + '/' + product.id"/>
<div class="container mt-6">
<div class="grid grid-cols-1 md:grid-cols-9 gap-6">
<div class="col-span-1 md:col-span-5">
<div class="shadow-md rounded relative">
<img v-if="!video_mode" :src="default_image" :alt="$i18n.locale == 'en' ? product.name : product.o_name" class="w-full h-auto object-center" width="300" height="160">
.nuxt/server.js:259:
async module.exports.__webpack_exports__.default
if (!Components.length) {
return render404Page()
}
// Call asyncData & fetch hooks on components matched by the route.
const asyncDatas = await Promise.all(Components.map((Component) => {
const promises = []
// Call asyncData(context)
if (Component.options.asyncData && typeof Component.options.asyncData === 'function') {
const promise = promisify(Component.options.asyncData, app.context)