old_contents: import flask
  import requests
  import os
  from urllib.parse import urlparse, parse_qs
  import json
  
  app = flask.Flask(__name__)
  app.config["DEBUG"] = True # TODO: make production
  buildkite_api_token = os.getenv("BUILDKITE_API_TOKEN", "")
  
  
  @app.route('/', methods=['GET'])
  def home():
      return "Hi LLVM!"
  
  
  @app.route('/build', methods=['POST', 'GET'])
  def build():
      app.logger.info('request: %s %s', flask.request, flask.request.url)
      app.logger.info('headers: %s', flask.request.headers)
      if flask.request.method == 'POST':
          app.logger.info('data: %s', flask.request.data)
          app.logger.info('form: %s', flask.request.form)
          url = urlparse(flask.request.url)
          params = parse_qs(url.query)
          build_env = {}
          for k, v in params.items():
              if len(v) == 1:
                  build_env['ph_' + k] = v[0]
          refspec = 'main'
          if 'ph_scripts_refspec' in build_env:
              refspec = build_env['ph_scripts_refspec']
          build_request = {
              'commit': 'HEAD',
              'branch':  refspec,
              'env': build_env,
              'message': f'D{build_env["ph_buildable_revision"]}',
          }
          app.logger.info('buildkite request: %s', build_request)
          headers = {'Authorization': f'Bearer {buildkite_api_token}'}
          response = requests.post(
              'https://api.buildkite.com/v2/organizations/llvm-project'
              '/pipelines/diff-checks/builds',
              json=build_request,
              headers=headers)
          app.logger.info('buildkite response: %s %s', response.status_code, response.text)
          rjs = json.loads(response.text)
          return rjs['web_url']
      else:
          return "expected POST request"
  
  
  if __name__ == '__main__':
      app.run(host='0.0.0.0:8080')
  
new_contents: import flask
  import requests
  import os
  from urllib.parse import urlparse, parse_qs
  import json
  
  app = flask.Flask(__name__)
  app.config["DEBUG"] = False
  buildkite_api_token = os.getenv("BUILDKITE_API_TOKEN", "")
  
  
  @app.route('/', methods=['GET'])
  def home():
      return "Hi LLVM!"
  
  
  @app.route('/build', methods=['POST', 'GET'])
  def build():
      app.logger.info('request: %s %s', flask.request, flask.request.url)
      app.logger.info('headers: %s', flask.request.headers)
      if flask.request.method == 'POST':
          app.logger.info('data: %s', flask.request.data)
          app.logger.info('form: %s', flask.request.form)
          url = urlparse(flask.request.url)
          params = parse_qs(url.query)
          build_env = {}
          for k, v in params.items():
              if len(v) == 1:
                  build_env['ph_' + k] = v[0]
          refspec = 'main'
          if 'ph_scripts_refspec' in build_env:
              refspec = build_env['ph_scripts_refspec']
          build_request = {
              'commit': 'HEAD',
              'branch':  refspec,
              'env': build_env,
              'message': f'D{build_env["ph_buildable_revision"]}',
          }
          app.logger.info('buildkite request: %s', build_request)
          headers = {'Authorization': f'Bearer {buildkite_api_token}'}
          response = requests.post(
              'https://api.buildkite.com/v2/organizations/llvm-project'
              '/pipelines/diff-checks/builds',
              json=build_request,
              headers=headers)
          app.logger.info('buildkite response: %s %s', response.status_code, response.text)
          rjs = json.loads(response.text)
          return rjs['web_url']
      else:
          return "expected POST request"
  
  
  if __name__ == '__main__':
      app.run(host='0.0.0.0:8080')
  
subject: disable debug config for flask