nextjs-seo-manager
Version:
2 lines (1 loc) • 3.62 kB
JavaScript
import e from"axios";function o(e,o,r,t){return new(r||(r=Promise))(function(n,s){function l(e){try{d(t.next(e))}catch(e){s(e)}}function i(e){try{d(t.throw(e))}catch(e){s(e)}}function d(e){var o;e.done?n(e.value):(o=e.value,o instanceof r?o:new r(function(e){e(o)})).then(l,i)}d((t=t.apply(e,o||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const r=(r,n="put",s,l,i)=>new Promise((d,a)=>o(void 0,void 0,void 0,function*(){var o,u,c,v,E,p,_,g,O,f,h;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 a({results:!1,error:"Project Id is required"});if(!(null==v?void 0:v.secretKey))return a({results:!1,error:"Project Secret Key is required"});const E=t(r),p=l||("Test"!==process.env.NEXT_PUBLIC_NODE_ENV_MANAGER&&"Development"!==process.env.NEXT_PUBLIC_NODE_ENV_MANAGER?`https://v1.seomanager.dev/${E}`:"Test"===process.env.NEXT_PUBLIC_NODE_ENV_MANAGER?`http://localhost:3002/${E}`:`https://v1-testing.seomanager.dev/${E}`);let _={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&&(_=Object.assign(Object.assign({},_),i));const g=yield e(p,{method:n,url:p,data:s||{},headers:_});return d(Object.assign(Object.assign({},(null==g?void 0:g.data)||{}),{results:null===(o=null==g?void 0:g.data)||void 0===o?void 0:o.results,error:(null===(u=null==g?void 0:g.data)||void 0===u?void 0:u.error)||!1,message:(null===(c=null==g?void 0:g.data)||void 0===c?void 0:c.message)||"Successful",statusCode:g.status}))}catch(e){return console.log("SERVER SECRET CALL ERROR:",e),d(Object.assign(Object.assign({},(null===(v=null==e?void 0:e.response)||void 0===v?void 0:v.data)||{}),{results:(null===(p=null===(E=null==e?void 0:e.response)||void 0===E?void 0:E.data)||void 0===p?void 0:p.results)||!1,error:(null===(g=null===(_=null==e?void 0:e.response)||void 0===_?void 0:_.data)||void 0===g?void 0:g.error)||!0,message:(null===(f=null===(O=null==e?void 0:e.response)||void 0===O?void 0:O.data)||void 0===f?void 0:f.message)||(null===(h=null==e?void 0:e.response)||void 0===h?void 0:h.data)||"There was an error on our end! Please try again in a few minutes!",statusCode:e.response.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("/robots/","put",{headers:e});if(o.results&&"string"==typeof o.results)return o.results;throw new Error(`Invalid response format: ${JSON.stringify(o)}`)}catch(e){throw console.error("Robots.txt generation error:",e),new Error(`Failed to generate robots.txt: ${e.message||e}`)}})}function s(e){return`User-agent: *\ncrawl-delay: 2\n\nSitemap: ${e}/sitemap.xml`}function l(e){var o,r,t,n,s,l,i,d;return{"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===(d=null===(i=e.headers)||void 0===i?void 0:i.get)||void 0===d?void 0:d.call(i,"cache-control"))||""}}export{s as createFallbackRobotsTxt,l as extractHeadersFromRequest,n as generateRobotsTxt};