| 51 | } |
| 52 | |
| 53 | HttpDataFetcherImpl::HttpDataFetcherImpl(TSCont contp, sockaddr const *client_addr, char const *dbg_tag) |
| 54 | : _contp(contp), _n_pending_requests(0), _curr_event_id_base(FETCH_EVENT_ID_BASE), _headers_str(""), _dbg_ctl(dbg_tag) |
| 55 | { |
| 56 | _http_parser = TSHttpParserCreate(); |
| 57 | // default client address to use for fetch url |
| 58 | struct sockaddr_in sin; |
| 59 | memset(&sin, 0, sizeof(sin)); |
| 60 | sin.sin_family = AF_INET; |
| 61 | sin.sin_addr.s_addr = inet_addr("127.0.0.1"); |
| 62 | |
| 63 | if (client_addr) { |
| 64 | if (client_addr->sa_family == AF_INET) { |
| 65 | memcpy(&_client_addr, client_addr, sizeof(sockaddr_in)); |
| 66 | } else if (client_addr->sa_family == AF_INET6) { |
| 67 | memcpy(&_client_addr, client_addr, sizeof(sockaddr_in6)); |
| 68 | } else if (client_addr->sa_family == AF_UNIX) { |
| 69 | memcpy(&_client_addr, client_addr, sizeof(sockaddr_un)); |
| 70 | } else { |
| 71 | memcpy(&_client_addr, &sin, sizeof(sin)); |
| 72 | TSError("[HttpDataFetcherImpl] Unknown address family %d", client_addr->sa_family); |
| 73 | } |
| 74 | } else { |
| 75 | memcpy(&_client_addr, &sin, sizeof(sin)); |
| 76 | TSError("[HttpDataFetcherImpl] Failed to get client host info"); |
| 77 | } |
| 78 | } |
| 79 | |
| 80 | HttpDataFetcherImpl::~HttpDataFetcherImpl() |
| 81 | { |
nothing calls this directly
no test coverage detected