All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.webpieces.hpack.api.HpackParser Maven / Gradle / Ivy

Go to download

A re-usable asynchronous HTTP/2 parser WITH header serialization/deserialization (hpack)

The newest version!
package com.webpieces.hpack.api;

import java.util.List;

import org.webpieces.data.api.DataWrapper;

import com.webpieces.http2.api.dto.lowlevel.lib.Http2Msg;
import com.webpieces.http2.api.dto.lowlevel.lib.Http2Setting;

public interface HpackParser {

	UnmarshalState prepareToUnmarshal(String logId, int maxHeaderSize, int maxHeaderTableSize, long localMaxFrameSize);
    UnmarshalState unmarshal(UnmarshalState state, DataWrapper newData);

	MarshalState prepareToMarshal(int maxHeaderTableSize, long remoteMaxFrameSize);
    DataWrapper marshal(MarshalState state, Http2Msg frame);
    
    /**
     * Unfortunately, in the http1.1 request to a server, the base64 http/2 upgrade settings header ONLY
     * contains the 'payload' of a SettingFrame, so we must have a method to just parse the payload of a
     * settings frame so this is a one-off function that I don't like exposing but need to. 
     */
	List unmarshalSettingsPayload(String base64SettingsPayload);
	
	/**
	 * Base 64 of the 'payload' of the SettingsFrame only, excluding the frame piece
	 */
	String marshalSettingsPayload(List settings);
	
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy