HTTP Google Workspace eklentilerini test etme ve hata ayıklama

Google Workspace eklentisi geliştiricisi olarak, değişiklikleri test etmek veya karmaşık sorunları gidermek için kodda hata ayıklama yapmanız gerekebilir. Google Workspace eklentilerinde hata ayıklama işlemi, uygulamanızın mimarisine, işlevine, dağıtım şekline ve tercihlerinize bağlı olarak birçok farklı şekilde yapılabilir.

Bu sayfada, yerel geliştirme ortamlarını test etmek için kullanabileceğiniz birleşik bir giriş platformu olan ngrok'ü kullanarak bir HTTP Google Workspace eklentisinde nasıl hata ayıklama yapılacağı açıklanmaktadır. Bu kılavuzda, kod değişikliklerini yerel bir ortamda test eder ve uzak bir ortamdaki sorunları giderirsiniz.

Yerel geliştirme ortamından hata ayıklama

Bu bölümde, yerel ortamınızda çalışan Google Workspace eklentinizle etkileşim kurarsınız.

Yerel bir geliştirme ortamında hata ayıklama.
Şekil 1. Yerel bir geliştirme ortamında hata ayıklama.

Ön koşullar

Node.js

Python

Java

localhost hizmetini herkese açık hale getirme

Google Workspace eklentisinin yerel ortamınıza erişebilmesi için yerel ortamınızı internete bağlamanız gerekir. ngrok uygulaması, herkese açık bir URL'ye yapılan HTTP isteklerini yerel ortamınıza yönlendirmek için kullanılır.

  1. Yerel ortamınızdaki bir tarayıcıda ngrok hesabınızda oturum açın.
  2. Uygulamayı yükleyin ve yerel ortamınızda authtoken'inizi ayarlayın.
  3. ngrok hesabınızda statik bir alan oluşturun. Bu kılavuzun talimatlarında bu alana NGROK_STATIC_DOMAIN olarak atıfta bulunulur.

Eklenti dağıtımını oluşturup yükleme

  1. Google Workspace eklentisini, tüm HTTP isteklerini statik alanınıza gönderecek şekilde yapılandırın. Dağıtım dosyanız aşağıdaki gibi görünmelidir:

    {
      "oauthScopes": [
        "https://www.googleapis.com/auth/workspace.linkpreview",
        "https://www.googleapis.com/auth/workspace.linkcreate"
      ],
      "addOns": {
        "common": {
          "name": "Manage support cases",
          "logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png",
          "layoutProperties": {
            "primaryColor": "#dd4b39"
          }
        },
        "docs": {
          "linkPreviewTriggers": [
            {
              "runFunction": "NGROK_STATIC_DOMAIN",
              "patterns": [
                {
                  "hostPattern": "example.com",
                  "pathPrefix": "support/cases"
                },
                {
                  "hostPattern": "*.example.com",
                  "pathPrefix": "cases"
                },
                {
                  "hostPattern": "cases.example.com"
                }
              ],
              "labelText": "Support case",
              "localizedLabelText": {
                "es": "Caso de soporte"
              },
              "logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png"
            }
          ],
          "createActionTriggers": [
            {
              "id": "createCase",
              "labelText": "Create support case",
              "localizedLabelText": {
                "es": "Crear caso de soporte"
              },
              "runFunction": "$URL2",
              "logoUrl": "https://developers.google.com/workspace/add-ons/images/support-icon.png"
            }
          ]
        },
        "httpOptions": {
          "granularOauthPermissionSupport": "OPT_IN"
        }
      }
    }
    

    NGROK_STATIC_DOMAIN değerini ngrok hesabınızdaki statik alanla değiştirin.

  2. Google Cloud projesini şu şekilde ayarlayın:

    gcloud config set project PROJECT_ID
  3. Uygulama Varsayılan Kimlik Bilgileri için kullanılacak yeni kullanıcı kimlik bilgileri edinin:

    gcloud auth application-default login

    PROJECT_ID kısmını, uygulamanın Google Cloud projesinin proje kimliği ile değiştirin.

  4. Dağıtımı oluşturun:

    gcloud workspace-add-ons deployments create manageSupportCases \
        --deployment-file=DEPLOYMENT_FILE_PATH

    DEPLOYMENT_FILE_PATH yerine dağıtım dosyanızın yolunu yazın.

  5. Dağıtımı yükleyin:

    gcloud workspace-add-ons deployments install manageSupportCases
    Google Workspace eklentisi, tüm HTTP isteklerini statik alana gönderir.
    Şekil 2. Google Workspace eklentisi, tüm HTTP isteklerini statik alana gönderir. "ngrok" herkese açık hizmeti, Google Workspace eklentisi ile yerel olarak yürütülen uygulama kodu arasında köprü görevi görür.

Google Workspace eklentisini test etme

Google Workspace eklentinizi yerel olarak dağıtabilir, test edebilir, hata ayıklayabilir ve otomatik olarak yeniden yükleyebilirsiniz.

Node.js

  1. Yerel ortamınızda yüklü Visual Studio Code IDE'den aşağıdakileri yapın:

    1. Yeni bir pencerede add-ons-samples/node/3p-resources klasörünü açın.
    2. package.json dosyasına bir bağımlılık ve iki komut dosyası ekleyerek uygulamayı yerel çalıştırma ve otomatik yeniden yükleme hata ayıklama için yapılandırın:

      {
          ...
          "dependencies": {
            ...
            "@google-cloud/functions-framework": "^3.3.0"
          },
          "scripts": {
              ...
              "start": "npx functions-framework --target=createLinkPreview --port=9000",
              "debug-watch": "nodemon --watch ./ --exec npm start"
          }
          ...
      }
      
    3. Uygulamayı kök dizinden yükleyin:

      npm install
    4. Kök dizine .vscode/launch.json dosyası oluşturarak debug-watch komut dosyasını tetikleyen Debug Watch adlı bir başlatma oluşturup yapılandırın:

      {
          "version": "0.2.0",
          "configurations": [{
              "type": "node",
              "request": "launch",
              "name": "Debug Watch",
              "cwd": "${workspaceRoot}",
              "runtimeExecutable": "npm",
              "runtimeArgs": ["run-script", "debug-watch"]
          }]
      }
      
    5. index.js dosyasında HTTP istek işlemeyi duraklatacak bir kesme noktası ekleyin ve daha önce eklenen Debug Watch yapılandırmasıyla çalıştırmaya ve hata ayıklama işlemine başlayın. Uygulama çalışmaya başlar ve 9000 bağlantı noktasındaki HTTP isteklerini bekler.

      Uygulama çalışıyor ve 9000 numaralı bağlantı noktasındaki HTTP isteklerini dinliyor.
      Şekil 3. Uygulama çalışıyor ve 9000 bağlantı noktasındaki HTTP isteklerini dinliyor.
  2. ngrok uygulamasını yerel ortamınızda başlatın:

    ngrok http --domain=NGROK_STATIC_DOMAIN 9000

    NGROK_STATIC_DOMAIN değerini ngrok hesabınızdaki statik alanla değiştirin. Tüm istekler artık yerel ortamınıza ve uygulama tarafından kullanılan bağlantı noktasına yönlendirilir.

    Ngrok sunucusunun çalıştığı ve yönlendirme yaptığı terminal.
    Şekil 4. ngrok sunucusunun çalıştığı ve yönlendirme yaptığı terminal.
  3. ngrokUygulama, yerel ana makinenizde bir web arayüzü de başlatır. Bir tarayıcıda açarak tüm etkinlikleri izleyebilirsiniz.

    HTTP isteği olmadığını gösteren, ngrok uygulaması tarafından barındırılan web arayüzü.
    Şekil 5. ngrok uygulaması tarafından barındırılan ve HTTP isteği göstermeyen web arayüzü.
  4. Bir destek kaydı URL'sini test kullanıcısı hesabıyla yeni bir Google Dokümanında önizleyerek Google Workspace eklentinizi test edin:

    • Bir Google Dokümanı oluşturun.

      Google Dokümanı oluşturma

    • Aşağıdaki bağlantıyı yazıp enter tuşuna basın:

      https://example.com/support/case/?name=Name1&description=Description1&priority=P1
      
    • Bağlantıyı tıklayın.

  5. Yerel ortamınızdaki Visual Studio Code dosyasında, yürütmenin ayarlanan kesme noktasında duraklatıldığını görebilirsiniz.

    Yürütme, ayarlanan kesme noktasında duraklatılır.
    Şekil 6. Yürütme, ayarlanan kesme noktasında duraklatılır.
  6. Google Workspace eklentileri zaman aşımına uğramadan önce Visual Studio Code hata ayıklayıcıdan yürütmeyi devam ettirdiğinizde Google Workspace eklentisi, Google Dokümanında bağlantı önizlemesini önbellekten gösterir.

  7. HTTP istek ve yanıt günlüklerini, yerel ortamınızda ngrok uygulaması tarafından barındırılan web arayüzünden kontrol edebilirsiniz.

    ngrok uygulaması tarafından barındırılan web arayüzünden gelen HTTP isteği.
    Şekil 7. ngrok uygulaması tarafından barındırılan web arayüzünden gelen HTTP isteği.
  8. Uygulama davranışını değiştirmek için index.js dosyasının 51 satırında Case değerini Case: ile değiştirin. Dosyayı kaydettiğinizde nodemon, uygulamayı güncellenmiş kaynak kodla otomatik olarak yeniden yükler ve Visual Studio Code hata ayıklama modunda kalır.

    Uygulama çalışıyor ve kod değişikliği yüklüyken 9000 numaralı bağlantı noktasında HTTP isteklerini dinliyor.
    Şekil 8. Uygulama çalışıyor ve kod değişikliği yüklüyken 9000 bağlantı noktasında HTTP isteklerini dinliyor.
  9. Bu kez, bağlantıyı tıklayıp yeni bir Google Dokümanında birkaç saniye beklemek yerine yerel ortamınızda ngrok uygulaması tarafından barındırılan web arayüzünde günlüğe kaydedilen son HTTP isteğini seçip Replay'ı tıklayabilirsiniz. Google Workspace eklentiniz, önceki sefer olduğu gibi etkin bir şekilde hata ayıklandığı için yanıt vermiyor.

  10. Visual Studio Code hata ayıklayıcısından yürütmeyi devam ettirdiğinizde, yerel ortamınızda ngrok uygulaması tarafından barındırılan web arayüzünde uygulamanın, önizleme kartının güncellenmiş sürümünü içeren bir yanıt oluşturduğunu görebilirsiniz.

Python

  1. Yerel ortamınızda yüklü Visual Studio Code IDE'den aşağıdakileri yapın:

    1. Yeni bir pencerede klasörü açınadd-ons-samples/python/3p-resources/create_link_preview.
    2. Python env için bir sanal ortam oluşturun ve etkinleştirin:

      virtualenv env
      source env/bin/activate
    3. Sanal ortamda pip kullanarak tüm proje bağımlılıklarını yükleyin:

      pip install -r requirements.txt
    4. Kök dizininde .vscode/launch.json dosyasını oluşturun ve env sanal ortamında, 9000 bağlantı noktasındaki functions-framework modülünden uygulamayı hata ayıklama modunda tetikleyen Debug Watch adlı bir başlatma yapılandırın:

      {
          "version": "0.2.0",
          "configurations": [{
              "type": "python",
              "request": "launch",
              "name": "Debug Watch",
              "python": "${workspaceFolder}/env/bin/python3",
              "module": "functions_framework",
              "args": [
                  "--target", "create_link_preview",
                  "--port", "9000",
                  "--debug"
              ]
          }]
      }
      
    5. main.py dosyasında HTTP istek işlemeyi duraklatacak bir kesme noktası ekleyin ve daha önce eklenen Debug Watch yapılandırmasıyla çalıştırmaya ve hata ayıklama işlemine başlayın. Uygulama çalışmaya başlar ve 9000 bağlantı noktasındaki HTTP isteklerini bekler.

      Uygulama çalışıyor ve 9000 numaralı bağlantı noktasındaki HTTP isteklerini dinliyor.
      Şekil 3. Uygulama çalışıyor ve 9000 bağlantı noktasındaki HTTP isteklerini dinliyor.
  2. ngrok uygulamasını yerel ortamınızda başlatın:

    ngrok http --domain=NGROK_STATIC_DOMAIN 9000

    NGROK_STATIC_DOMAIN değerini ngrok hesabınızdaki statik alanla değiştirin. Tüm istekler artık yerel ortamınıza ve uygulama tarafından kullanılan bağlantı noktasına yönlendirilir.

    Ngrok sunucusunun çalıştığı ve yönlendirme yaptığı terminal.
    Şekil 4. ngrok sunucusunun çalıştığı ve yönlendirme yaptığı terminal.
  3. ngrokUygulaması, yerel ana makinenizde bir web arayüzü de başlatır. Bu arayüzü bir tarayıcıda açarak tüm etkinlikleri izleyebilirsiniz.

    HTTP isteği olmadığını gösteren, ngrok uygulaması tarafından barındırılan web arayüzü.
    Şekil 5. ngrok uygulaması tarafından barındırılan ve HTTP isteği göstermeyen web arayüzü.
  4. Bir destek kaydı URL'sini test kullanıcısı hesabıyla yeni bir Google Dokümanında önizleyerek Google Workspace eklentinizi test edin:

    • Bir Google Dokümanı oluşturun.

      Google Dokümanı oluşturma

    • Aşağıdaki bağlantıyı yazıp enter tuşuna basın:

      https://example.com/support/case/?name=Name1&description=Description1&priority=P1
      
    • Bağlantıyı tıklayın.

  5. Yerel ortamınızdaki Visual Studio Code dosyasında, yürütmenin ayarlanan kesme noktasında duraklatıldığını görebilirsiniz.

    Yürütme, ayarlanan kesme noktasında duraklatılır.
    Şekil 6. Yürütme, ayarlanan kesme noktasında duraklatılır.
  6. Google Workspace eklentileri zaman aşımına uğramadan önce Visual Studio Code hata ayıklayıcıdan yürütmeyi devam ettirdiğinizde Google Workspace eklentisi, Google Dokümanında bağlantı önizlemesini önbellekten gösterir.

  7. HTTP istek ve yanıt günlüklerini, yerel ortamınızda ngrok uygulaması tarafından barındırılan web arayüzünden kontrol edebilirsiniz.

    ngrok uygulaması tarafından barındırılan web arayüzünden gelen HTTP isteği.
    Şekil 7. ngrok uygulaması tarafından barındırılan web arayüzünden gelen HTTP isteği.
  8. Uygulama davranışını değiştirmek için main.py dosyasının 56 satırında CaseCase: ile değiştirin. Dosyayı kaydettiğinizde Visual Studio Code, uygulamayı güncellenmiş kaynak kodla otomatik olarak yeniden yükler ve hata ayıklama modunda kalır.

    Uygulama çalışıyor ve kod değişikliği yüklüyken 9000 numaralı bağlantı noktasında HTTP isteklerini dinliyor.
    Şekil 8. Uygulama çalışıyor ve kod değişikliği yüklüyken 9000 bağlantı noktasında HTTP isteklerini dinliyor.
  9. Bu kez, bağlantıyı tıklayıp yeni bir Google Dokümanında birkaç saniye beklemek yerine yerel ortamınızda ngrok uygulaması tarafından barındırılan web arayüzünde günlüğe kaydedilen son HTTP isteğini seçip Replay'ı tıklayabilirsiniz. Google Workspace eklentiniz, önceki sefer olduğu gibi etkin bir şekilde hata ayıklandığı için yanıt vermiyor.

  10. Visual Studio Code hata ayıklayıcısından yürütmeyi devam ettirdiğinizde, yerel ortamınızda ngrok uygulaması tarafından barındırılan web arayüzünde uygulamanın, önizleme kartının güncellenmiş sürümünü içeren bir yanıt oluşturduğunu görebilirsiniz.

Java

  1. Yerel ortamınızda yüklü Visual Studio Code IDE'den aşağıdakileri yapın:

    1. Yeni bir pencerede klasörü açınadd-ons-samples/java/3p-resources.
    2. pom.xml dosyasına Cloud Functions Framework derleme eklentisi function-maven-plugin'yi ekleyerek Maven projesini, CreateLinkPreview uygulamasını 9000 bağlantı noktasında yerel olarak çalıştıracak şekilde yapılandırın:

      ...
      <plugin>
          <groupId>com.google.cloud.functions</groupId>
          <artifactId>function-maven-plugin</artifactId>
          <version>0.11.0</version>
          <configuration>
              <functionTarget>CreateLinkPreview</functionTarget>
              <port>9000</port>
          </configuration>
      </plugin>
      ...
      
    3. Artık yerel olarak hata ayıklama modunda başlatabilirsiniz:

      mvnDebug function:run
      Preparing to execute Maven in debug mode
      Listening for transport dt_socket at address: 8000
    4. Kök dizininde .vscode/launch.json dosyasını oluşturun ve daha önce 8000 bağlantı noktasında başlatılan uygulamaya bağlanan Remote Debug Watch adlı bir başlatma yapılandırın:

      {
          "version": "0.2.0",
          "configurations": [{
              "type": "java",
              "request": "attach",
              "name": "Remote Debug Watch",
              "projectName": "http-function",
              "hostName": "localhost",
              "port": 8000
          }]
      }
      
    5. CreateLinkPreview.java dosyasında HTTP istek işlemeyi duraklatacak bir durma noktası ekleyin ve daha önce eklenen Remote Debug Watch yapılandırmasıyla bağlantı kurmaya ve hata ayıklama işlemine başlayın. Uygulama, çalışmaya ve 9000 bağlantı noktasındaki HTTP isteklerini izlemeye başlar.

      Uygulama çalışıyor ve 9000 numaralı bağlantı noktasındaki HTTP isteklerini dinliyor.
      Şekil 3. Uygulama çalışıyor ve 9000 bağlantı noktasındaki HTTP isteklerini dinliyor.

  2. ngrok uygulamasını yerel ortamınızda başlatın:

    ngrok http --domain=NGROK_STATIC_DOMAIN 9000

    NGROK_STATIC_DOMAIN değerini ngrok hesabınızdaki statik alanla değiştirin. Tüm istekler artık yerel ortamınıza ve uygulama tarafından kullanılan bağlantı noktasına yönlendirilir.

    Ngrok sunucusunun çalıştığı ve yönlendirme yaptığı terminal.
    Şekil 4. ngrok sunucusunun çalıştığı ve yönlendirme yaptığı terminal.
  3. ngrokUygulaması, yerel ana makinenizde bir web arayüzü de başlatır. Bu arayüzü bir tarayıcıda açarak tüm etkinlikleri izleyebilirsiniz.

    HTTP isteği olmadığını gösteren, ngrok uygulaması tarafından barındırılan web arayüzü.
    Şekil 5. ngrok uygulaması tarafından barındırılan ve HTTP isteği göstermeyen web arayüzü.
  4. Bir destek kaydı URL'sini test kullanıcısı hesabıyla yeni bir Google Dokümanında önizleyerek Google Workspace eklentinizi test edin:

    • Bir Google Dokümanı oluşturun.

      Google Dokümanı oluşturma

    • Aşağıdaki bağlantıyı yazıp enter tuşuna basın:

      https://example.com/support/case/?name=Name1&description=Description1&priority=P1
      
    • Bağlantıyı tıklayın.

  5. Yerel ortamınızdaki Visual Studio Code dosyasında, yürütmenin ayarlanan kesme noktasında duraklatıldığını görebilirsiniz.

    Yürütme, ayarlanan kesme noktasında duraklatılır.
    Şekil 6. Yürütme, ayarlanan kesme noktasında duraklatılır.
  6. Google Workspace eklentileri zaman aşımına uğramadan önce Visual Studio Code hata ayıklayıcıdan yürütmeyi devam ettirdiğinizde Google Workspace eklentisi, Google Dokümanında bağlantı önizlemesini önbellekten gösterir.

  7. HTTP istek ve yanıt günlüklerini, yerel ortamınızda ngrok uygulaması tarafından barındırılan web arayüzünden kontrol edebilirsiniz.

    ngrok uygulaması tarafından barındırılan web arayüzünden gelen HTTP isteği.
    Şekil 7. ngrok uygulaması tarafından barındırılan web arayüzünden gelen HTTP isteği.
  8. Uygulama davranışını değiştirmek için CreateLinkPreview.java dosyasının 78 satırında Case yerine Case: yazın, mvnDebug sürecini yeniden başlatın ve hata ayıklama işlemini yeniden bağlayıp başlatmak için Remote Debug Watch'i yeniden başlatın.

  9. Bu kez, bağlantıyı tıklayıp yeni bir Google Dokümanında birkaç saniye beklemek yerine yerel ortamınızda ngrok uygulaması tarafından barındırılan web arayüzünde günlüğe kaydedilen son HTTP isteğini seçip Replay'ı tıklayabilirsiniz. Google Workspace eklentiniz, önceki sefer olduğu gibi etkin bir şekilde hata ayıklandığı için yanıt vermiyor.

  10. Visual Studio Code hata ayıklayıcısından yürütmeyi devam ettirdiğinizde, yerel ortamınızda ngrok uygulaması tarafından barındırılan web arayüzünde uygulamanın, önizleme kartının güncellenmiş sürümünü içeren bir yanıt oluşturduğunu görebilirsiniz.

Uzaktan ortamdan hata ayıklama

Bu bölümde, uzak bir ortamda çalışan Google Workspace eklentinizle etkileşim kurarsınız.

Uzaktan ortamda hata ayıklama.
Şekil 9. Uzaktan ortamdan hata ayıklama.

Ön koşullar

  • Google Workspace eklentiniz dağıtılır ve yüklenir.
  • Uygulamanız, uzak ortamınızda belirli bir bağlantı noktasında hata ayıklayıcı etkinken çalışıyor ve bu kılavuzun talimatlarında REMOTE_DEBUG_PORT olarak adlandırılıyor.
  • Yerel ortamınız uzak ortamınıza ssh olabilir.
  • Yerel ortamınızda hata ayıklama yapabilen bir IDE kurulur. Bu kılavuzda, açıklama amacıyla Visual Studio CodeIDE ve varsayılan hata ayıklama özelliklerini kullanıyoruz.

Yerel ve uzak ortamlarınızı bağlama

Hata ayıklama istemci bağlantısı başlatmak istediğiniz yerel ortamınızda bir SSH tüneli oluşturun:

ssh -L LOCAL_DEBUG_PORT:localhost:REMOTE_DEBUG_PORT REMOTE_USERNAME@REMOTE_ADDRESS

Aşağıdakini değiştirin:

  • LOCAL_DEBUG_PORT: Yerel ortamınızdaki hata ayıklama bağlantı noktası.
  • REMOTE_USERNAME: Uzak ortamınızdaki kullanıcı adı.
  • REMOTE_ADDRESS: Uzak ortamınızın adresi.
  • REMOTE_DEBUG_PORT: Uzak ortamınızdaki hata ayıklama bağlantı noktası.

Yerel ortamınızdaki hata ayıklama bağlantı noktası artık uzak ortamınızdaki hata ayıklama bağlantı noktasına bağlanmıştır.

Hata ayıklamayı başlat

Yerel ortamınızda yüklü Visual Studio Code IDE'den aşağıdakileri yapın:

  1. Yeni bir pencerede uygulamanızın kaynak kodunu açın.
  2. Kök dizininde .vscode/launch.json dosyasını oluşturun ve yerel ortamınızdaki hata ayıklama bağlantı noktasına bağlanan Debug Remote adlı bir başlatma yapılandırın:

    Node.js

    {
        "version": "0.2.0",
        "configurations": [{
            "type": "node",
            "request": "attach",
            "name": "Debug Remote",
            "address": "127.0.0.1",
            "port": LOCAL_DEBUG_PORT
        }]
    }
    

    Python

    {
        "version": "0.2.0",
        "configurations": [{
            "type": "python",
            "request": "attach",
            "name": "Debug Remote",
            "connect": {
                "host": "127.0.0.1",
                "port": LOCAL_DEBUG_PORT
            }
        }]
    }
    

    Java

    {
        "version": "0.2.0",
        "configurations": [{
            "type": "java",
            "request": "attach",
            "name": "Debug Remote",
            "hostName": "127.0.0.1",
            "port": LOCAL_DEBUG_PORT
        }]
    }
    

    LOCAL_DEBUG_PORT değerini yerel ortamınızdaki hata ayıklama noktasıyla değiştirin.

  3. Uygulamanızın kaynak koduna, HTTP istek işlemeyi duraklatan bir kesme noktası ekleyin ve daha önce eklenen Debug Remote yapılandırmasıyla uygulamayı çalıştırıp hata ayıklama işlemine başlayın.

    Yüklediğiniz Google Workspace eklentisiyle etkileşim kurun. Google Workspace eklentiniz, Visual Studio Code IDE'de etkin bir şekilde hata ayıklandığı için yanıt vermez.