Reputation: 61
Now, i'm in http://localhost:3000/
, but on prod i will be in a different url, for example http://example.com/
, how can i get full browser url in getServerSideProps? I have to get http://localhost:3000/
or http://example.com/
, if string will not contain port, it will be ok
Upvotes: 5
Views: 10253
Reputation: 347
And in the additional answer you use in this my case :
export const getServerSideProps = async (
context: GetServerSidePropsContext
) => {
const { req } = context;
let url = req.headers.referer;
let arr = url.split('/');
url = `${arr[0]}//${arr[2]}`;
This URL gives you for example http://localhost:3000 enjoy!
Upvotes: 3
Reputation: 1688
'next/router' provide a couple of methods too, which you can use. For example:
import { useRouter } from 'next/router';
const RouterObject = () => {
const { asPath, pathname, req, query, res } = useRouter();
console.log(asPath);
console.log(pathname);
console.log('host: ', req.headers.host);
}
If you have the host you can check if contains localhost. Then you know you are in your local environment.
Upvotes: -5