human
APIポイントを開いて文字列を提供するPythonスクリプトの例を教えてください。
gpt
PythonでFlaskサーバーを作成し、ユーザーに文字列を送り返すエンドポイントを作成する簡単な例です：

```
from flask import Flask, request

app = Flask(__name__)

@app.route('/', methods=['POST'])
def echo():
    request_body = request.get_json(force=True)
    return request_body['input']

app.run(port=3000)
```

このアプリケーションはcurlでテストできます：
```
curl -X POST -H 'Content-Type: application/json' -d '{"input": "Hello server"}' http://127.0.0.1:3000/
```
human
リクエスト本体を返す代わりに、CAESAR暗号でリクエスト本体を暗号化して暗号テキストを返すようにしてください。
gpt
もちろんだ！

```
from flask import Flask, request

app = Flask(__name__)

@app.route('/', methods=['POST'])
def encrypt():
    request_body = request.get_json(force=True)
    input_str = request_body['input']
    shift = request_body.get('shift', 1)  # default shift is 1 if not specified

    output_str = ''
    for char in input_str:
        if char.isalpha():
            char_code = ord(char)
            if char.isupper():
                base = ord('A')
            else:
                base = ord('a')
            char_code = (char_code - base + shift) % 26 + base
            char = chr(char_code)
        output_str += char

    return output_str

app.run(port=3000)
```

この変更されたアプリケーションはまた、リクエストボディでオプションの shift パラメータを受け取り、シーザー暗号でシフトする文字数を指定する。shiftパラメータが指定されない場合、デフォルトは1である。

この変更されたアプリケーションをcurlでテストすることができます：
```
curl -X POST -H 'Content-Type: application/json' -d '{"input": "Hello server", "shift": 5}' http://127.0.0.1:3000/
```