ソースを参照

add HttpContentTypeAndCharset

tags/2.0.1
Jonathan Cobb 4年前
コミット
4473018297
1個のファイルの変更46行の追加0行の削除
  1. +46
    -0
      src/main/java/org/cobbzilla/util/http/HttpContentTypeAndCharset.java

+ 46
- 0
src/main/java/org/cobbzilla/util/http/HttpContentTypeAndCharset.java ファイルの表示

@@ -0,0 +1,46 @@
package org.cobbzilla.util.http;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.Accessors;

import static org.cobbzilla.util.daemon.ZillaRuntime.empty;

@NoArgsConstructor @AllArgsConstructor @Accessors(chain=true)
public class HttpContentTypeAndCharset {

@Getter @Setter private String contentType;
public boolean hasContentType () { return !empty(contentType); }

public boolean isContentType(String type) {
return hasContentType() && contentType.equalsIgnoreCase(type);
}

@Getter @Setter private String charset;
public boolean hasCharset () { return !empty(charset); }

public boolean isCharset(String cs) {
return hasCharset() && charset.equalsIgnoreCase(cs);
}

public HttpContentTypeAndCharset (String val) {
if (!empty(val)) {
final int semiPos = val.indexOf(';');
if (semiPos == -1) {
contentType = val.trim();
} else {
contentType = val.substring(0, semiPos).trim();
if (semiPos < val.length()-1) {
for (String part : val.substring(semiPos + 1).split(";")) {
final String[] params = part.split("=");
if (params.length == 2 && params[0].equalsIgnoreCase("charset")) {
charset = params[1].trim();
}
}
}
}
}
}
}

読み込み中…
キャンセル
保存