/**
 * Copyright 2015 Confluent Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
"use strict";

var Schema = require('./schema'),
    utils = require('./utils'),
    util = require('util');

/**
 * BinarySchema is a dummy Schema implementation whose only purpose is to
 * provide content type information for requests.
 */
var BinarySchema = module.exports = function() {
};
util.inherits(BinarySchema, Schema);

BinarySchema.prototype.toSchemaString = function() {
    return null;
};

BinarySchema.prototype.getContentType = function(client) {
    return "application/vnd.kafka.binary.v" + client.config.version + "+json";
};

BinarySchema.getContentType = BinarySchema.prototype.getContentType;

BinarySchema.decodeMessage = function(msg) {
    return {
        'key': utils.fromBase64(msg.key),
        'value': utils.fromBase64(msg.value),
        'partition': msg.partition
    };
};
/**
 * Copyright 2015 Confluent Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
"use strict";

var Schema = require('./schema'),
    utils = require('./utils'),
    util = require('util');

/**
 * BinarySchema is a dummy Schema implementation whose only purpose is to
 * provide content type information for requests.
 */
var BinarySchema = module.exports = function() {
};
util.inherits(BinarySchema, Schema);

BinarySchema.prototype.toSchemaString = function() {
    return null;
};

BinarySchema.prototype.getContentType = function(client) {
    return "application/vnd.kafka.binary.v" + client.config.version + "+json";
};

BinarySchema.getContentType = BinarySchema.prototype.getContentType;

BinarySchema.decodeMessage = function(msg) {
    return {
        'key': utils.fromBase64(msg.key),
        'value': utils.fromBase64(msg.value),
        'partition': msg.partition,
        'offset': msg.offset
    };
};
Include offset binarySchema