How to get full browser url in next js, getServerSideProps

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

Answers (2)

Omid Moghadas
Omid Moghadas

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

Max Pattern
Max Pattern

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

Related Questions