Package com.sun.jersey.core.header.reader

Examples of com.sun.jersey.core.header.reader.HttpHeaderReader


    public CacheControl fromString(String header) {
        if (header == null)
            throw new IllegalArgumentException("Cache control is null");
        try {
            HttpHeaderReader reader = HttpHeaderReader.newInstance(header);
            CacheControl cacheControl = new CacheControl();
            cacheControl.setNoTransform(false); // defaults to true
            while (reader.hasNext()) {
                readDirective(cacheControl, reader);
                if (reader.hasNextSeparator(',', true))
                    reader.nextSeparator(',');
            }
            return cacheControl;
        } catch (ParseException pe) {
            throw new IllegalArgumentException(
                    "Error parsing cache control '" + header + "'", pe);
View Full Code Here


    public EntityTag fromString(String header) {
        if (header == null)
            throw new IllegalArgumentException("Entity tag is null");

        try {
            HttpHeaderReader reader = HttpHeaderReader.newInstance(header);
            Event e = reader.next(false);
            if (e == Event.QuotedString) {
                return new EntityTag(reader.getEventValue());
            } else if (e == Event.Token) {
                if (reader.getEventValue().equals("W")) {
                    reader.nextSeparator('/');
                    return new EntityTag(reader.nextQuotedString(), true);
                }
            }
        } catch (ParseException ex) {
            throw new IllegalArgumentException(
                    "Error parsing entity tag '" + header + "'", ex);
View Full Code Here

     */
    public static RequestCacheControl valueOf(String value) {
        checkNotNull(value);

        try {
            HttpHeaderReader reader = HttpHeaderReader.newInstance(value);
            RequestCacheControl cacheControl = new RequestCacheControl();
            ImmutableMap.Builder<String, Optional<String>> cacheExtension = ImmutableMap.builder();

            while (reader.hasNext()) {
                String directive = reader.nextToken();

                if ("no-cache".equalsIgnoreCase(directive)) {
                    cacheControl._noCache = true;
                } else if ("no-store".equalsIgnoreCase(directive)) {
                    cacheControl._noStore = true;
                } else if ("max-stale".equalsIgnoreCase(directive)) {
                    cacheControl._maxStale = reader.hasNextSeparator('=', false)
                            ? readDeltaSeconds(reader, directive)
                            : Integer.MAX_VALUE;
                } else if ("max-age".equalsIgnoreCase(directive)) {
                    cacheControl._maxAge = readDeltaSeconds(reader, directive);
                } else if ("min-fresh".equalsIgnoreCase(directive)) {
                    cacheControl._minFresh = readDeltaSeconds(reader, directive);
                } else if ("no-transform".equalsIgnoreCase(directive)) {
                    cacheControl._noTransform = true;
                } else if ("only-if-cached".equalsIgnoreCase(directive)) {
                    cacheControl._onlyIfCached = true;
                } else {
                    String directiveValue = null;

                    if (reader.hasNextSeparator('=', false)) {
                        reader.nextSeparator('=');
                        directiveValue = reader.nextTokenOrQuotedString();
                    }

                    cacheExtension.put(directive.toLowerCase(), Optional.fromNullable(directiveValue));
                }

                if (reader.hasNextSeparator(',', true)) {
                    reader.nextSeparator(',');
                }
            }

            cacheControl._cacheExtension = cacheExtension.build();
            return cacheControl;
View Full Code Here

        boolean weak = false;
        if (header.startsWith("W/")) {
            header = header.substring(2);
            weak = true;
        }
        HttpHeaderReader reader = HttpHeaderReader.newInstance(header);
        try {
            EntityTag eTag = new EntityTag(reader.nextQuotedString(),weak);
            return eTag;
        } catch (ParseException ex) {
            throw new IllegalArgumentException(
                    "Error parsing entity tag '" + header + "'", ex);
        }
View Full Code Here

    public MediaType fromString(String header) {
        if (header == null)
            throw new IllegalArgumentException("Media type is null");
       
        try {
            HttpHeaderReader reader = HttpHeaderReader.newInstance(header);
            // Skip any white space
            reader.hasNext();

            // Get the type
            String type = reader.nextToken();
            reader.nextSeparator('/');
            // Get the subtype
            String subType = reader.nextToken();

            Map<String, String> params = null;

            if (reader.hasNext())
                params = HttpHeaderReader.readParameters(reader);

            return new MediaType(type, subType, params);
        } catch (ParseException ex) {
            throw new IllegalArgumentException(
View Full Code Here

    public CacheControl fromString(String header) {
        if (header == null)
            throw new IllegalArgumentException("Cache control is null");
        try {
            HttpHeaderReader reader = HttpHeaderReader.newInstance(header);
            CacheControl cacheControl = new CacheControl();
            cacheControl.setNoTransform(false); // defaults to true
            while (reader.hasNext()) {
                readDirective(cacheControl, reader);
                if (reader.hasNextSeparator(',', true))
                    reader.nextSeparator(',');
            }
            return cacheControl;
        } catch (ParseException pe) {
            throw new IllegalArgumentException(
                    "Error parsing cache control '" + header + "'", pe);
View Full Code Here

    public EntityTag fromString(String header) {
        if (header == null)
            throw new IllegalArgumentException("Entity tag is null");

        try {
            HttpHeaderReader reader = HttpHeaderReader.newInstance(header);
            Event e = reader.next(false);
            if (e == Event.QuotedString) {
                return new EntityTag(reader.getEventValue());
            } else if (e == Event.Token) {
                if (reader.getEventValue().equals("W")) {
                    reader.nextSeparator('/');
                    return new EntityTag(reader.nextQuotedString(), true);
                }
            }
        } catch (ParseException ex) {
            throw new IllegalArgumentException(
                    "Error parsing entity tag '" + header + "'", ex);
View Full Code Here

TOP

Related Classes of com.sun.jersey.core.header.reader.HttpHeaderReader

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.