text: # ------- standard library imports -------
  import json
  import requests
  
  # ------- 3rd party imports -------
  import flask
  from flask import Blueprint, request, redirect, url_for
  
  # ------- local imports -------
  from app import app
  
  shorten_url_blueprint = Blueprint('shorten_url_blueprint', __name__, template_folder='templates')
  
  
  @shorten_url_blueprint.route('/shorten', methods=['POST'])
  def shorten_url():
      base_url = flask.url_for("index_blueprint.index", _external=True)
      original_url = request.form['original_url']
      shorten_endpoint = base_url + 'api/shorten'
  
      params = {
          'url': original_url
      }
  
      headers = {
          'Authorization': f'Bearer {app.app.secret_key}'
      }
  
      response = requests.post(shorten_endpoint, headers=headers, params=params)
  
      if response.status_code == 200:
          response = json.loads(response.text)
          short_url = response['short_url']
          original_url = response['original_url']
  
          return redirect(url_for('your_short_url_blueprint.your_short_url',
                                  short_url=short_url,
                                  original_url=original_url))
      else:
          return redirect(url_for('error_blueprint.error'))
  