mirror of
https://github.com/winscp/winscp.git
synced 2026-10-28 15:35:08 +03:00
78 lines
2.8 KiB
C
78 lines
2.8 KiB
C
/** **************************************************************************
|
|
* response_headers_handler.h
|
|
*
|
|
* Copyright 2008 Bryan Ischo <bryan@ischo.com>
|
|
*
|
|
* This file is part of libs3.
|
|
*
|
|
* libs3 is free software: you can redistribute it and/or modify it under the
|
|
* terms of the GNU Lesser General Public License as published by the Free
|
|
* Software Foundation, version 3 or above of the License. You can also
|
|
* redistribute and/or modify it under the terms of the GNU General Public
|
|
* License, version 2 or above of the License.
|
|
*
|
|
* In addition, as a special exception, the copyright holders give
|
|
* permission to link the code of this library and its programs with the
|
|
* OpenSSL library, and distribute linked combinations including the two.
|
|
*
|
|
* libs3 is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
* details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
* version 3 along with libs3, in a file named COPYING. If not, see
|
|
* <https://www.gnu.org/licenses/>.
|
|
*
|
|
* You should also have received a copy of the GNU General Public License
|
|
* version 2 along with libs3, in a file named COPYING-GPLv2. If not, see
|
|
* <https://www.gnu.org/licenses/>.
|
|
*
|
|
************************************************************************** **/
|
|
|
|
#ifndef RESPONSE_HEADERS_HANDLER_H
|
|
#define RESPONSE_HEADERS_HANDLER_H
|
|
|
|
#include "libs3.h"
|
|
#include "string_buffer.h"
|
|
#include "util.h"
|
|
#ifdef WINSCP
|
|
#include "ne_request.h"
|
|
#endif
|
|
|
|
|
|
typedef struct ResponseHeadersHandler
|
|
{
|
|
// The structure to pass to the headers callback. This is filled in by
|
|
// the ResponseHeadersHandler from the headers added to it.
|
|
S3ResponseProperties responseProperties;
|
|
|
|
// Set to 1 after the done call has been made
|
|
int done;
|
|
|
|
// copied into here. We allow 128 bytes for each header, plus \0 term.
|
|
string_multibuffer(responsePropertyStrings, 5 * 129);
|
|
|
|
// responseproperties.metaHeaders strings get copied into here
|
|
string_multibuffer(responseMetaDataStrings,
|
|
COMPACTED_METADATA_BUFFER_SIZE);
|
|
|
|
// Response meta data
|
|
S3NameValue responseMetaData[S3_MAX_METADATA_COUNT];
|
|
} ResponseHeadersHandler;
|
|
|
|
|
|
void response_headers_handler_initialize(ResponseHeadersHandler *handler);
|
|
|
|
void response_headers_handler_add(ResponseHeadersHandler *handler,
|
|
const char * header_name, const char * header_value); // WINSCP (neon API)
|
|
|
|
void response_headers_handler_done(ResponseHeadersHandler *handler,
|
|
ne_request *NeonRequest); // WINSCP (neon API)
|
|
|
|
#ifdef WINSCP
|
|
typedef int NeonCode;
|
|
#endif
|
|
|
|
#endif /* RESPONSE_HEADERS_HANDLER_H */
|