nextjs-seo-manager
Version:
2 lines (1 loc) • 3.99 kB
JavaScript
import e from"axios";function o(e,o,r,t){return new(r||(r=Promise))(function(n,s){function l(e){try{a(t.next(e))}catch(e){s(e)}}function i(e){try{a(t.throw(e))}catch(e){s(e)}}function a(e){var o;e.done?n(e.value):(o=e.value,o instanceof r?o:new r(function(e){e(o)})).then(l,i)}a((t=t.apply(e,o||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const r=(r,n="put",s,l,i)=>new Promise((a,d)=>o(void 0,void 0,void 0,function*(){var o,u,c,v,p,E,g,h,_,O,m,f;try{const v=(()=>{let e={};return process.env.SEO_MANAGER_MODULE_SECRETKEY&&(e.secretKey=process.env.SEO_MANAGER_MODULE_SECRETKEY),process.env.SEO_MANAGER_MODULE_PROJECTKEY&&(e.projectKey=process.env.SEO_MANAGER_MODULE_PROJECTKEY),process.env.SEO_MANAGER_MODULE_PROJECTID&&(e.projectId=process.env.SEO_MANAGER_MODULE_PROJECTID),e})();if(!(null==v?void 0:v.projectId))return d({results:!1,error:"Project Id is required"});if(!(null==v?void 0:v.secretKey))return d({results:!1,error:"Project Secret Key is required"});const p=t(r),E=l||("Test"!==process.env.NEXT_PUBLIC_NODE_ENV_MANAGER&&"Development"!==process.env.NEXT_PUBLIC_NODE_ENV_MANAGER?`https://v1.seomanager.dev/${p}`:"Test"===process.env.NEXT_PUBLIC_NODE_ENV_MANAGER?`http://localhost:3002/${p}`:`https://v1-testing.seomanager.dev/${p}`);let g={X_ProjectId:null==v?void 0:v.projectId,X_ProjectKey:(null==v?void 0:v.projectKey)||"",X_ProjectSecretKey:(null==v?void 0:v.secretKey)||""};i&&(g=Object.assign(Object.assign({},g),i));const h={method:n,url:E,headers:g};"get"===n?h.params=s||{}:h.data=s||{};const _=yield e(h);return a(Object.assign(Object.assign({},(null==_?void 0:_.data)||{}),{results:null===(o=null==_?void 0:_.data)||void 0===o?void 0:o.results,error:(null===(u=null==_?void 0:_.data)||void 0===u?void 0:u.error)||!1,message:(null===(c=null==_?void 0:_.data)||void 0===c?void 0:c.message)||"Successful",statusCode:_.status}))}catch(e){return console.log("SERVER SECRET CALL ERROR:",e),a(Object.assign(Object.assign({},(null===(v=null==e?void 0:e.response)||void 0===v?void 0:v.data)||{}),{results:(null===(E=null===(p=null==e?void 0:e.response)||void 0===p?void 0:p.data)||void 0===E?void 0:E.results)||!1,error:(null===(h=null===(g=null==e?void 0:e.response)||void 0===g?void 0:g.data)||void 0===h?void 0:h.error)||!0,message:(null===(O=null===(_=null==e?void 0:e.response)||void 0===_?void 0:_.data)||void 0===O?void 0:O.message)||(null===(m=null==e?void 0:e.response)||void 0===m?void 0:m.data)||"There was an error on our end! Please try again in a few minutes!",statusCode:null===(f=null==e?void 0:e.response)||void 0===f?void 0:f.status}))}})),t=e=>{let o=e;return"/"===o[0]&&(o=o.replace("/","")),o};function n(e={}){return o(this,void 0,void 0,function*(){try{const o=yield r("/sitemap/","put",{path:e.path,headers:e.headers||{}});if(o.results&&"string"==typeof o.results)return o.results;throw new Error(`Invalid response format: ${JSON.stringify(o)}`)}catch(e){throw console.error("Sitemap generation error:",e),new Error(`Failed to generate sitemap: ${e.message||e}`)}})}function s(e){return`<?xml version="1.0" encoding="UTF-8"?>\n<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n <url>\n <loc>${e}</loc>\n <lastmod>${(new Date).toISOString().split("T")[0]}</lastmod>\n <changefreq>daily</changefreq>\n <priority>1.0</priority>\n </url>\n</urlset>`}function l(e){var o,r,t,n,s,l,i,a;return{path:new URL(e.url).pathname,headers:{"user-agent":(null===(r=null===(o=e.headers)||void 0===o?void 0:o.get)||void 0===r?void 0:r.call(o,"user-agent"))||"",accept:(null===(n=null===(t=e.headers)||void 0===t?void 0:t.get)||void 0===n?void 0:n.call(t,"accept"))||"","accept-language":(null===(l=null===(s=e.headers)||void 0===s?void 0:s.get)||void 0===l?void 0:l.call(s,"accept-language"))||"","cache-control":(null===(a=null===(i=e.headers)||void 0===i?void 0:i.get)||void 0===a?void 0:a.call(i,"cache-control"))||""}}}export{s as createFallbackSitemapXml,l as extractRequestDataFromRequest,n as generateSitemapXml};