b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni/*
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * The contents of this file are subject to the terms of the Common Development and
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * Distribution License (the License). You may not use this file except in compliance with the
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * License.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni *
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * specific language governing permission and limitations under the License.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni *
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * When distributing Covered Software, include this CDDL Header Notice in each file and include
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * Header, with the fields enclosed by brackets [] replaced by your own identifying
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * information: "Portions copyright [year] [name of copyright owner]".
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni *
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * Copyright 2016 ForgeRock AS.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni */
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni/*!
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * Mock implementation of NSURLProtocol, used for testing.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni */
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni@interface FRAMockURLProtocol : NSURLProtocol
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni/*!
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * Get the HTTP request.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni *
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * @return The HTTP request.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni */
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni+ (NSURLRequest *)getRequest;
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni/*!
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * Set the payload of the HTTP request.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni *
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * @param data The payload.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni */
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni+ (void)setResponseData:(NSData*)data;
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni/*!
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * Set the response headers.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni *
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * @param headers The response HTTP headers.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni */
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni+ (void)setResponseHeaders:(NSDictionary*)headers;
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni/*!
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * Set the request status code.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni *
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * @param statusCode The response status code.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni */
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni+ (void)setStatusCode:(NSInteger)statusCode;
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni/*!
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * Set the response error (e.g. timeout).
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni *
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni * @param error The error.
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni */
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni+ (void)setError:(NSError*)error;
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni
b3a21de0a0e0a5dea71bece7e5c0356700136fbcDiego Colantoni@end