Overview

Namespaces

  • LINE
    • LINEBot
      • Constant
      • Event
        • MessageEvent
        • Parser
      • Exception
      • HTTPClient
      • ImagemapActionBuilder
      • MessageBuilder
        • Imagemap
        • TemplateBuilder
      • TemplateActionBuilder

Classes

  • LINE\LINEBot
  • LINE\LINEBot\Constant\ActionType
  • LINE\LINEBot\Constant\EventSourceType
  • LINE\LINEBot\Constant\HTTPHeader
  • LINE\LINEBot\Constant\MessageType
  • LINE\LINEBot\Constant\Meta
  • LINE\LINEBot\Constant\TemplateType
  • LINE\LINEBot\Event\BaseEvent
  • LINE\LINEBot\Event\BeaconDetectionEvent
  • LINE\LINEBot\Event\FollowEvent
  • LINE\LINEBot\Event\JoinEvent
  • LINE\LINEBot\Event\LeaveEvent
  • LINE\LINEBot\Event\MessageEvent
  • LINE\LINEBot\Event\MessageEvent\AudioMessage
  • LINE\LINEBot\Event\MessageEvent\ImageMessage
  • LINE\LINEBot\Event\MessageEvent\LocationMessage
  • LINE\LINEBot\Event\MessageEvent\StickerMessage
  • LINE\LINEBot\Event\MessageEvent\TextMessage
  • LINE\LINEBot\Event\MessageEvent\VideoMessage
  • LINE\LINEBot\Event\Parser\EventRequestParser
  • LINE\LINEBot\Event\PostbackEvent
  • LINE\LINEBot\Event\UnfollowEvent
  • LINE\LINEBot\HTTPClient\Curl
  • LINE\LINEBot\HTTPClient\CurlHTTPClient
  • LINE\LINEBot\ImagemapActionBuilder\AreaBuilder
  • LINE\LINEBot\ImagemapActionBuilder\ImagemapMessageActionBuilder
  • LINE\LINEBot\ImagemapActionBuilder\ImagemapUriActionBuilder
  • LINE\LINEBot\MessageBuilder\AudioMessageBuilder
  • LINE\LINEBot\MessageBuilder\Imagemap\BaseSizeBuilder
  • LINE\LINEBot\MessageBuilder\ImagemapMessageBuilder
  • LINE\LINEBot\MessageBuilder\ImageMessageBuilder
  • LINE\LINEBot\MessageBuilder\LocationMessageBuilder
  • LINE\LINEBot\MessageBuilder\MultiMessageBuilder
  • LINE\LINEBot\MessageBuilder\StickerMessageBuilder
  • LINE\LINEBot\MessageBuilder\TemplateBuilder\ButtonTemplateBuilder
  • LINE\LINEBot\MessageBuilder\TemplateBuilder\CarouselColumnTemplateBuilder
  • LINE\LINEBot\MessageBuilder\TemplateBuilder\CarouselTemplateBuilder
  • LINE\LINEBot\MessageBuilder\TemplateBuilder\ConfirmTemplateBuilder
  • LINE\LINEBot\MessageBuilder\TemplateMessageBuilder
  • LINE\LINEBot\MessageBuilder\TextMessageBuilder
  • LINE\LINEBot\MessageBuilder\VideoMessageBuilder
  • LINE\LINEBot\Response
  • LINE\LINEBot\SignatureValidator
  • LINE\LINEBot\TemplateActionBuilder\MessageTemplateActionBuilder
  • LINE\LINEBot\TemplateActionBuilder\PostbackTemplateActionBuilder
  • LINE\LINEBot\TemplateActionBuilder\UriTemplateActionBuilder

Interfaces

  • LINE\LINEBot\HTTPClient
  • LINE\LINEBot\ImagemapActionBuilder
  • LINE\LINEBot\MessageBuilder
  • LINE\LINEBot\MessageBuilder\TemplateBuilder
  • LINE\LINEBot\TemplateActionBuilder

Exceptions

  • LINE\LINEBot\Exception\CurlExecutionException
  • LINE\LINEBot\Exception\InvalidEventRequestException
  • LINE\LINEBot\Exception\InvalidEventSourceException
  • LINE\LINEBot\Exception\InvalidSignatureException
  • LINE\LINEBot\Exception\UnknownEventTypeException
  • LINE\LINEBot\Exception\UnknownMessageTypeException
  • Overview
  • Namespace
  • Class
 1: <?php
 2: 
 3: /**
 4:  * Copyright 2016 LINE Corporation
 5:  *
 6:  * LINE Corporation licenses this file to you under the Apache License,
 7:  * version 2.0 (the "License"); you may not use this file except in compliance
 8:  * with the License. You may obtain a copy of the License at:
 9:  *
10:  *   https://www.apache.org/licenses/LICENSE-2.0
11:  *
12:  * Unless required by applicable law or agreed to in writing, software
13:  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14:  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15:  * License for the specific language governing permissions and limitations
16:  * under the License.
17:  */
18: 
19: namespace LINE\LINEBot\HTTPClient;
20: 
21: /**
22:  * cURL session manager
23:  *
24:  * @package LINE\LINEBot\HTTPClient
25:  */
26: class Curl
27: {
28:     /** @var resource */
29:     private $ch;
30: 
31:     /**
32:      * Initialize a cURL session
33:      *
34:      * @param string $url
35:      */
36:     public function __construct($url)
37:     {
38:         $this->ch = curl_init($url);
39:     }
40: 
41:     /**
42:      * Set multiple options for a cURL transfer
43:      *
44:      * @param array $options Returns TRUE if all options were successfully set. If an option could not be
45:      * successfully set, FALSE is immediately returned, ignoring any future options in the options array.
46:      * @return bool
47:      */
48:     public function setoptArray(array $options)
49:     {
50:         return curl_setopt_array($this->ch, $options);
51:     }
52: 
53:     /**
54:      * Perform a cURL session
55:      *
56:      * @return bool Returns TRUE on success or FALSE on failure. However, if the CURLOPT_RETURNTRANSFER
57:      * option is set, it will return the result on success, FALSE on failure.
58:      */
59:     public function exec()
60:     {
61:         return curl_exec($this->ch);
62:     }
63: 
64:     /**
65:      * Gets information about the last transfer.
66:      *
67:      * @return array
68:      */
69:     public function getinfo()
70:     {
71:         return curl_getinfo($this->ch);
72:     }
73: 
74:     /**
75:      * @return int Returns the error number or 0 (zero) if no error occurred.
76:      */
77:     public function errno()
78:     {
79:         return curl_errno($this->ch);
80:     }
81: 
82:     /**
83:      * @return string Returns the error message or '' (the empty string) if no error occurred.
84:      */
85:     public function error()
86:     {
87:         return curl_error($this->ch);
88:     }
89: 
90:     /**
91:      * Closes a cURL session and frees all resources. The cURL handle, ch, is also deleted.
92:      */
93:     public function __destruct()
94:     {
95:         curl_close($this->ch);
96:     }
97: }
98: 
line-bot-sdk-php API documentation generated by ApiGen