WaNet передает неверные заголовки Принято

1

Если отправить вначале запрос post запрос, а затем, например, get, то будут переданы заголовки  'Content-Length' и 'Content-MD5' оставшиеся с post запроса .

2 комментария

  • +1
    Владислав Горлов Владислав Горлов Webasyst 7 августа 2019 13:04 #

    waNet пока очень плохо приспособлен к повторному использованию объекта. Нет методов изменения заголовков/параметров и остаются данные от запроса при повторных запросах (в том числе при параллельны запросах ). Это постепенно исправим.

    • +1
      enso_studio@mail.ru enso_studio@mail.ru 7 августа 2019 16:01 #
      Это постепенно исправим.

      Честно говоря не понимаю в чем тут сложность:

      protected $master_request_headers;
      
      public function __construct(array $options = [], array $custom_headers = [])
      {
          ...
          $this->master_request_headers = $this->request_headers;
      }
      
      public function query($url, $content = array(), $method = self::METHOD_GET, $callback = null)
      {
          $this->decoded_response = null;
          $this->raw_response = null;
          $this->response_header = ['http_code' => 500];
          if (!self::$namespace || empty(self::$mh[self::$namespace])) {
              $this->request_headers = $this->master_request_headers;
          }
          $this->buildRequest($url, $content, $method);
          $this->startQuery();
          switch ($this->getTransport($url)) {
              ...
          }
          ...
      }

      добавили переменную хранящую начальные заголовки и загружаем из нее заголовки перед каждым запросом.

      Замените хотя бы private методы на protected, а то приходится извращаться в духе:

      $startQuery = new ReflectionMethod($this, 'startQuery');
      $startQuery->setAccessible(true);
      $startQuery->invoke($this);

      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите